diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-03-28 04:58:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-04-10 14:54:07 -0400 |
commit | 24398e39c8ee4a9d9123eed322b859ece4d16cac (patch) | |
tree | 28e054cd2feaf289bc4fbe279936d2d21ceaba5e /Documentation/networking | |
parent | 1d98fb122d8f0c33504576da4107bc807176be1d (diff) |
mac80211: set HT channel before association
Changing the channel type during operation is
confusing to some drivers and will be hard to
handle in multi-channel scenarios. Instead of
changing the channel, set it to the right HT
channel before authenticating/associating and
don't change it -- just update the 20/40 MHz
restrictions in rate control as needed when
changed by the AP.
This also fixes a problem that Paul missed in
his fix for the "regulatory makes us deaf"
issue -- when we couldn't use 40 MHz we still
associated saying we were using 40 MHz, which
could in similarly broken APs make us never
even connect successfully.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'Documentation/networking')
-rw-r--r-- | Documentation/networking/mac80211-auth-assoc-deauth.txt | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/Documentation/networking/mac80211-auth-assoc-deauth.txt b/Documentation/networking/mac80211-auth-assoc-deauth.txt index e0a2aa585ca3..d7a15fe91bf7 100644 --- a/Documentation/networking/mac80211-auth-assoc-deauth.txt +++ b/Documentation/networking/mac80211-auth-assoc-deauth.txt | |||
@@ -23,7 +23,7 @@ BA session stop & deauth/disassoc frames | |||
23 | end note | 23 | end note |
24 | end | 24 | end |
25 | 25 | ||
26 | mac80211->driver: config(channel, non-HT) | 26 | mac80211->driver: config(channel, channel type) |
27 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) | 27 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) |
28 | mac80211->driver: sta_state(AP, exists) | 28 | mac80211->driver: sta_state(AP, exists) |
29 | 29 | ||
@@ -51,7 +51,7 @@ note over mac80211,driver: cleanup like for authenticate | |||
51 | end | 51 | end |
52 | 52 | ||
53 | alt not previously authenticated (FT) | 53 | alt not previously authenticated (FT) |
54 | mac80211->driver: config(channel, non-HT) | 54 | mac80211->driver: config(channel, channel type) |
55 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) | 55 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) |
56 | mac80211->driver: sta_state(AP, exists) | 56 | mac80211->driver: sta_state(AP, exists) |
57 | mac80211->driver: sta_state(AP, authenticated) | 57 | mac80211->driver: sta_state(AP, authenticated) |
@@ -67,10 +67,6 @@ end | |||
67 | 67 | ||
68 | mac80211->driver: set up QoS parameters | 68 | mac80211->driver: set up QoS parameters |
69 | 69 | ||
70 | alt is HT channel | ||
71 | mac80211->driver: config(channel, HT params) | ||
72 | end | ||
73 | |||
74 | mac80211->driver: bss_info_changed(QoS, HT, associated with AID) | 70 | mac80211->driver: bss_info_changed(QoS, HT, associated with AID) |
75 | mac80211->userspace: associated | 71 | mac80211->userspace: associated |
76 | 72 | ||
@@ -95,5 +91,5 @@ mac80211->driver: sta_state(AP,exists) | |||
95 | mac80211->driver: sta_state(AP,not-exists) | 91 | mac80211->driver: sta_state(AP,not-exists) |
96 | mac80211->driver: turn off powersave | 92 | mac80211->driver: turn off powersave |
97 | mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) | 93 | mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) |
98 | mac80211->driver: config(non-HT channel type) | 94 | mac80211->driver: config(channel type to non-HT) |
99 | mac80211->userspace: disconnected | 95 | mac80211->userspace: disconnected |