> From: Johannes Berg <johannes.berg@xxxxxxxxx> > > We currently stop the queue when changing the rate > control between 20/40 MHz in the BSS. This seems to > have been necessary when we actually changed the > channel, but now that we just update the station it > doesn't seem right any more. Remove it. > > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> > --- > net/mac80211/ieee80211_i.h | 1 - > net/mac80211/mlme.c | 19 ------------------- > 2 files changed, 20 deletions(-) > > --- a/net/mac80211/ieee80211_i.h 2012-03-15 16:39:21.000000000 +0100 > +++ b/net/mac80211/ieee80211_i.h 2012-03-15 16:39:47.000000000 +0100 > @@ -743,7 +743,6 @@ enum queue_stop_reason { > IEEE80211_QUEUE_STOP_REASON_AGGREGATION, > IEEE80211_QUEUE_STOP_REASON_SUSPEND, > IEEE80211_QUEUE_STOP_REASON_SKB_ADD, > - IEEE80211_QUEUE_STOP_REASON_CHTYPE_CHANGE, > }; > > #ifdef CONFIG_MAC80211_LEDS > --- a/net/mac80211/mlme.c 2012-03-15 16:39:21.000000000 +0100 > +++ b/net/mac80211/mlme.c 2012-03-15 16:39:57.000000000 +0100 > @@ -212,21 +212,6 @@ static u32 ieee80211_config_ht_tx(struct > if (sta && (!reconfig || > (disable_40 != !!(sta->sta.ht_cap.cap & > IEEE80211_HT_CAP_SUP_WIDTH_20_40)))) { > - if (reconfig) { > - /* > - * Whenever the AP announces the HT mode changed > - * (e.g. 40 MHz intolerant) stop queues to avoid > - * sending out frames while the rate control is > - * reconfiguring. > - */ > - ieee80211_stop_queues_by_reason(&sdata->local->hw, > - IEEE80211_QUEUE_STOP_REASON_CHTYPE_CHANGE); > - > - /* flush out all packets */ > - synchronize_net(); > - > - drv_flush(local, false); > - } The queue stop was added to avoid sending frames while the hw reconfigure is in progress. So that we can prevent differences b/w hw and rate control ht mode. But I doubt that hw_reconfig removal could not affect split drivers where the rc is offloaded. > > if (disable_40) > sta->sta.ht_cap.cap &= ~IEEE80211_HT_CAP_SUP_WIDTH_20_40; > @@ -235,10 +220,6 @@ static u32 ieee80211_config_ht_tx(struct > > rate_control_rate_update(local, sband, sta, > IEEE80211_RC_HT_CHANGED); > - > - if (reconfig) > - ieee80211_wake_queues_by_reason(&sdata->local->hw, > - IEEE80211_QUEUE_STOP_REASON_CHTYPE_CHANGE); > } > mutex_unlock(&local->sta_mtx); -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html