aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/at76c50x-usb.h
diff options
context:
space:
mode:
authorSebastian Smolorz <Sebastian.Smolorz@gmx.de>2010-06-22 16:55:17 +0200
committerJohn W. Linville <linville@tuxdriver.com>2010-06-24 15:42:33 -0400
commita185045c8da1ec6627236b4ade0d949b15da43b3 (patch)
tree20d10b53e3cba7aa32df18ee9b073dc9e4b37ab3 /drivers/net/wireless/at76c50x-usb.h
parentat76c50x-usb: Move function at76_join() several lines up (diff)
downloadlinux-dev-a185045c8da1ec6627236b4ade0d949b15da43b3.tar.xz
linux-dev-a185045c8da1ec6627236b4ade0d949b15da43b3.zip
at76c50x-usb: Extract bssid from authentication frame
The driver at76c50x-usb is unable to authenticate with an AP since kernel 2.6.31 for the following reason: The join command of the firmware needs to be sent with the right bssid before any transmission can start. Before kernel 2.6.31 mac80211 informed its drivers about the changing bssid early enough for at76c50x-usb but during the development of 2.6.31 mac80211's behaviour changed. Now a new bssid is set after the association. This patch changes the tx routine of the driver at76c50x-usb in such a way that a new bssid is extracted from an authentication frame and the join command with that bssid is processed. Signed-off-by: Sebastian Smolorz <sesmo@gmx.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/at76c50x-usb.h')
-rw-r--r--drivers/net/wireless/at76c50x-usb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/at76c50x-usb.h b/drivers/net/wireless/at76c50x-usb.h
index 1ec5ccffdbc0..db89d72df4f3 100644
--- a/drivers/net/wireless/at76c50x-usb.h
+++ b/drivers/net/wireless/at76c50x-usb.h
@@ -387,6 +387,7 @@ struct at76_priv {
/* work queues */
struct work_struct work_set_promisc;
struct work_struct work_submit_rx;
+ struct work_struct work_join_bssid;
struct delayed_work dwork_hw_scan;
struct tasklet_struct rx_tasklet;