hi Vitaly, On Mon, Apr 23, 2012 at 5:57 PM, Vitaly Wool <vitalywool@xxxxxxxxx> wrote: > Sometimes I'm seeing that after a rejected suspend which was > rejected by the driver's suspend routine, the device can not > associate to any AP any more. Investigation shows that it's > due to the fact that the queues are left stopped with the > reason IEEE80211_QUEUE_STOP_REASON_SUSPEND. > > With that known, it looks like we need to wake queues on an > unsuccessful suspend attempt explicitly. > > --- > net/mac80211/pm.c | 2 ++ > 1 file changed, 2 insertions(+), 0 deletions(-) > > diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c > index 844cefb..fd57913 100644 > --- a/net/mac80211/pm.c > +++ b/net/mac80211/pm.c > @@ -96,6 +96,8 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct > cfg80211_wowlan *wowlan) > int err = drv_suspend(local, wowlan); > if (err) { > local->quiescing = false; > + ieee80211_wake_queues_by_reason(hw, > + > IEEE80211_QUEUE_STOP_REASON_SUSPEND); > return err; > } it seems right. looks like there's a similar issue with WLAN_STA_BLOCK_BA being set for all the stations and not cleared on error. Eliad. -- 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