On Fri, Aug 21, 2009 at 10:19:33AM -0400, Bob Copeland wrote: > Okay, I think I see what is going on here. Well I can't quite convince myself of what exactly is requeing sta work; we do cancel everything already as far as I can tell, but something is rearming, I just can't tell which. Fabio, can you please apply this patch against wireless-testing (not compat-wireless) and report all the warnings produced when doing a suspend/resume? This should tell us the code paths that are queuing work too late. >From 6eb7d5c3ae8f2f42b164491acd02631858515876 Mon Sep 17 00:00:00 2001 From: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Sat, 22 Aug 2009 08:40:53 -0400 Subject: [PATCH] mac80211: set suspended before final flush_workqueue Just a temporary debugging aid. --- net/mac80211/pm.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c index a5d2f1f..231c8be 100644 --- a/net/mac80211/pm.c +++ b/net/mac80211/pm.c @@ -117,13 +117,13 @@ int __ieee80211_suspend(struct ieee80211_hw *hw) * shouldn't be doing (or cancel everything in the * stop callback) that but better safe than sorry. */ - flush_workqueue(local->workqueue); - local->suspended = true; /* need suspended to be visible before quiescing is false */ barrier(); local->quiescing = false; + flush_workqueue(local->workqueue); + return 0; } -- 1.6.2.5 -- Bob Copeland %% www.bobcopeland.com -- 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