Bug#659521: [3.1.8 -> 3.2.4 regression] ATH9K driver will not connect to my adhoc network
reassign 659521 src:linux-2.6 3.2.4-1
quit
Hi,
Ankman wrote:
> Connection to adhoc won't work. Booting the previous
> (3.1.0-1-686-pae) and it works again. Although in 3.2.0-1-686-pae
> managed (router bound) connection DO work.
Thanks for reporting it. Could you elaborate? In particular:
- please attach output from
"reportbug --template linux-image-$(uname -r)", so we can get to
know your configuration and hardware
- what commands do you use to set up an ad hoc connection? See [1]
for hints on ruling out problems from networkmanager and other
higher-level tools when working on wireless bugs, and for hints on
getting an event log. How do you know it failed? Any other hints
or weird symptoms?
- please attach full "dmesg" output from booting up and attempting to
connect in ad-hoc mode.
If you have time to test the attached patch[2], that might also be
useful.
Hope that helps,
Jonathan
[1] http://linuxwireless.org/en/users/Documentation/Reporting_bugs
[2] see http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s4.2.2
or the corresponding page in the debian-kernel-handbook package for
instructions.
From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Date: Wed, 7 Dec 2011 16:51:38 +0530
Subject: ath9k: validate for non-zero BSSID
commit 356cb55d81d1692bd74b96c71deeb7e1cf956196 upstream.
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>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
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 67b862cdae6d..8af038fa9ab3 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1824,6 +1824,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
--
1.7.9
Reply to: