aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/assoc.c
diff options
context:
space:
mode:
authorLuis Carlos Cobo Rus <luisca@cozybit.com>2007-05-30 12:16:13 -0400
committerJohn W. Linville <linville@tuxdriver.com>2007-06-12 14:02:32 -0400
commitfff47f108d7bd9f80b223cd187e09dbb0cb89114 (patch)
tree763186927ec0e4720d87fedffb4fa8528d7788ab /drivers/net/wireless/libertas/assoc.c
parent[PATCH] libertas: pull current channel from firmware on mesh autostart (diff)
downloadlinux-dev-fff47f108d7bd9f80b223cd187e09dbb0cb89114.tar.xz
linux-dev-fff47f108d7bd9f80b223cd187e09dbb0cb89114.zip
[PATCH] libertas: deauthenticate from AP in channel switch
This avoids channel mismatch between driver and firmware in case we change channel while associated to an AP. Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/wireless/libertas/assoc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/assoc.c b/drivers/net/wireless/libertas/assoc.c
index 06a90b42a451..f67efa0815fe 100644
--- a/drivers/net/wireless/libertas/assoc.c
+++ b/drivers/net/wireless/libertas/assoc.c
@@ -411,6 +411,11 @@ static int should_deauth_infrastructure(wlan_adapter *adapter,
return 1;
}
+ if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags)) {
+ lbs_deb_assoc("Deauthenticating due to channel switch.\n");
+ return 1;
+ }
+
/* FIXME: deal with 'auto' mode somehow */
if (test_bit(ASSOC_FLAG_MODE, &assoc_req->flags)) {
if (assoc_req->mode != IW_MODE_INFRA)