diff options
author | Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | 2011-12-07 16:51:38 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-16 09:27:56 -0500 |
commit | 356cb55d81d1692bd74b96c71deeb7e1cf956196 (patch) | |
tree | 49a38e815bd2caf80eec8ef5d6ab73696c0fa712 /drivers | |
parent | d66be8294289346ceba4c6abc022954b682d4959 (diff) |
ath9k: validate for non-zero BSSID
before concluding that the recieved beacon is for us, let us make sure
that the BSSID is non-zero. when I configured ad-hoc mode as creator and
left it for some time without joining I found we recieved few frames whose
BSSID is zero, which we concluded wrongly as 'my_beacons'
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index e0318415c2a..ad5176de07d 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c @@ -1823,6 +1823,7 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp) hdr = (struct ieee80211_hdr *) (hdr_skb->data + rx_status_len); rxs = IEEE80211_SKB_RXCB(hdr_skb); if (ieee80211_is_beacon(hdr->frame_control) && + !is_zero_ether_addr(common->curbssid) && !compare_ether_addr(hdr->addr3, common->curbssid)) rs.is_mybeacon = true; else |