On Thu, 2014-06-05 at 19:26 +0300, Emmanuel Grumbach wrote: > From: Luciano Coelho <luciano.coelho@xxxxxxxxx> > > In some cases we may want to stop the queues of a single vif (for > instance during a channel-switch). Add a function that stops all the > queues that are assigned to a vif. If a queue is assigned to more > than one vif, the corresponding netdev subqueue of the other vif(s) > will also be stopped. If the HW doesn't set the > IEEE80211_HW_QUEUE_CONTROL flag, then all queues are stopped. > > Also add a corresponding function to wake the queues of a vif back. > > Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> > Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> > --- [...] > +void ieee80211_wake_vif_queues(struct ieee80211_local *local, > + struct ieee80211_sub_if_data *sdata, > + enum queue_stop_reason reason) > +{ > + ieee80211_wake_queues_by_reason(&local->hw, > + ieee80211_get_vif_queues(local, sdata), > + IEEE80211_QUEUE_STOP_REASON_DRIVER); Ooops, this is wrong, it should be reason instead. -- Luca. ��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f