Forráskód Böngészése

mac80211: allow action frames with unknown BSSID in GO mode

When operating as a P2P GO, we receive some P2P action frames where the
BSSID is set to the peer MAC address. Specifically, this occurs for
invitation responses. These are valid action frames and they should be
passed up.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arik Nemtsov 14 éve
szülő
commit
a21fa87e3a
1 módosított fájl, 3 hozzáadás és 1 törlés
  1. 3 1
      net/mac80211/rx.c

+ 3 - 1
net/mac80211/rx.c

@@ -2716,7 +2716,9 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx,
 		} else if (!ieee80211_bssid_match(bssid,
 		} else if (!ieee80211_bssid_match(bssid,
 					sdata->vif.addr)) {
 					sdata->vif.addr)) {
 			if (!(status->rx_flags & IEEE80211_RX_IN_SCAN) &&
 			if (!(status->rx_flags & IEEE80211_RX_IN_SCAN) &&
-			    !ieee80211_is_beacon(hdr->frame_control))
+			    !ieee80211_is_beacon(hdr->frame_control) &&
+			    !(ieee80211_is_action(hdr->frame_control) &&
+			      sdata->vif.p2p))
 				return 0;
 				return 0;
 			status->rx_flags &= ~IEEE80211_RX_RA_MATCH;
 			status->rx_flags &= ~IEEE80211_RX_RA_MATCH;
 		}
 		}