summaryrefslogtreecommitdiffstats
path: root/net/wireless/mlme.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2009-12-30 21:25:08 +0100
committerJohn W. Linville <linville@tuxdriver.com>2009-12-30 21:25:08 +0100
commit891dc5e73783eeabd2a704a9425e2a199b39c9f9 (patch)
tree9b4478941c486d47a71bfce455b896c5dda7e811 /net/wireless/mlme.c
parentmac80211: annotate sleeping driver ops (diff)
parentRevert "b43: Enforce DMA descriptor memory constraints" (diff)
downloadlinux-891dc5e73783eeabd2a704a9425e2a199b39c9f9.tar.xz
linux-891dc5e73783eeabd2a704a9425e2a199b39c9f9.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts: drivers/net/wireless/libertas/scan.c
Diffstat (limited to 'net/wireless/mlme.c')
-rw-r--r--net/wireless/mlme.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index 3dba19e17271..94d151f6f73e 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -93,7 +93,18 @@ void cfg80211_send_rx_assoc(struct net_device *dev, const u8 *buf, size_t len)
}
}
- WARN_ON(!bss);
+ /*
+ * We might be coming here because the driver reported
+ * a successful association at the same time as the
+ * user requested a deauth. In that case, we will have
+ * removed the BSS from the auth_bsses list due to the
+ * deauth request when the assoc response makes it. If
+ * the two code paths acquire the lock the other way
+ * around, that's just the standard situation of a
+ * deauth being requested while connected.
+ */
+ if (!bss)
+ goto out;
} else if (wdev->conn) {
cfg80211_sme_failed_assoc(wdev);
/*