瀏覽代碼

mac80211: pass up beacons from external BSS when operating as AP

Beacons from external BSSes are required for updating overlapping BSS
info (i.e. ERP protection). Pass them up unconditionally.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Arik Nemtsov 15 年之前
父節點
當前提交
771bbd09f7
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      net/mac80211/rx.c

+ 2 - 1
net/mac80211/rx.c

@@ -2698,7 +2698,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx,
 				return 0;
 				return 0;
 		} 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))
 				return 0;
 				return 0;
 			status->rx_flags &= ~IEEE80211_RX_RA_MATCH;
 			status->rx_flags &= ~IEEE80211_RX_RA_MATCH;
 		}
 		}