Return-path: Received: from mail.deathmatch.net ([72.66.92.28]:4529 "EHLO mail.deathmatch.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751448AbZHVMr2 (ORCPT ); Sat, 22 Aug 2009 08:47:28 -0400 Date: Sat, 22 Aug 2009 08:47:09 -0400 From: Bob Copeland To: Fabio Comolli Cc: linux-wireless@vger.kernel.org, "Luis R. Rodriguez" Subject: Re: WARNING: at net/mac80211/mlme.c:2292 Message-ID: <20090822124709.GA6762@hash.localnet> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-wireless-owner@vger.kernel.org List-ID: 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 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