Hi, 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; } list_for_each_entry(sdata,&local->interfaces, list) { -- 1.7.5.4 -- Vitaly Wool<vitalywool@xxxxxxxxx> -- 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