diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-05-05 23:34:02 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-05-12 16:39:05 -0400 |
commit | 9feaddc77b2a2ee460f39d1420f9675db972659e (patch) | |
tree | 5134d51700a415e4afa69115411e8b05b069255f /net | |
parent | 5ce6e438d5d9ed8ed775cd1e94f92002c8da2bad (diff) |
mac80211: check channel switch mode for future frames transmit
Check the mode in channel switch ie for either 0 or 1 on transmission.
A channel switch mode set to 1 means that the STA in a BSS to which the
frame containing the element is addressed shall transmit no further
frames within the BSS until the scheduled channel switch.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/mlme.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 6b74489fb9c6..a444d03f6774 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -446,7 +446,8 @@ void ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata, | |||
446 | if (sw_elem->count <= 1) { | 446 | if (sw_elem->count <= 1) { |
447 | ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work); | 447 | ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work); |
448 | } else { | 448 | } else { |
449 | ieee80211_stop_queues_by_reason(&sdata->local->hw, | 449 | if (sw_elem->mode) |
450 | ieee80211_stop_queues_by_reason(&sdata->local->hw, | ||
450 | IEEE80211_QUEUE_STOP_REASON_CSA); | 451 | IEEE80211_QUEUE_STOP_REASON_CSA); |
451 | ifmgd->flags |= IEEE80211_STA_CSA_RECEIVED; | 452 | ifmgd->flags |= IEEE80211_STA_CSA_RECEIVED; |
452 | mod_timer(&ifmgd->chswitch_timer, | 453 | mod_timer(&ifmgd->chswitch_timer, |