[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: