From: Johannes Berg <johannes@sipsolutions.net>
To: Thomas Meyer <thomas@m3y3r.de>
Cc: linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: v3.1 - WARNING: at net/mac80211/util.c:540 ieee80211_can_queue_work
Date: Wed, 09 Nov 2011 12:10:59 +0100 [thread overview]
Message-ID: <1320837059.3845.35.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <1320436165.29441.28.camel@localhost.localdomain>
On Fri, 2011-11-04 at 20:49 +0100, Thomas Meyer wrote:
> Am Freitag, den 04.11.2011, 20:25 +0100 schrieb Johannes Berg:
> > A little more ... anything really ... would be helpful.
> >
>
> First time that I ever saw this WARNING. happened after 9 days uptime,
> while suspending the machine to ram.
I don't suppose you can reproduce, can you? :-)
> > > [281558.898592] Pid: 0, comm: swapper Tainted: G W 3.1.0 #3
> > > [281558.898595] Call Trace:
> > > [281558.898597] <IRQ> [<ffffffff8103024a>] warn_slowpath_common+0x7a/0xb0
> > > [281558.898610] [<ffffffff8105731d>] ? clockevents_program_event+0x5d/0xa0
> > > [281558.898614] [<ffffffff81030321>] warn_slowpath_fmt+0x41/0x50
> > > [281558.898619] [<ffffffff81058259>] ? tick_program_event+0x19/0x20
> > > [281558.898624] [<ffffffff8104d46e>] ? hrtimer_interrupt+0xfe/0x1f0
> > > [281558.898633] [<ffffffffa017fe45>] ieee80211_can_queue_work+0x35/0x40 [mac80211]
> > > [281558.898642] [<ffffffffa017ff9b>] ieee80211_queue_work+0x1b/0x40 [mac80211]
> > > [281558.898651] [<ffffffffa016bfdf>] ieee80211_sta_timer+0x2f/0x40 [mac80211]
> > > [281558.898657] [<ffffffff8103bb8f>] run_timer_softirq+0xef/0x210
> > > [281558.898666] [<ffffffffa016bfb0>] ? ieee80211_sta_bcn_mon_timer+0x40/0x40 [mac80211]
Interestingly, sta_bcn_mon_timer was there -- but I don't see how *that*
caused it. I do, however, see how conn_mon_timer could cause it:
conn_mon_timer fired and queued monitor_work
you suspended, invoking sta_quiesce, which *first* disables the timer
and *then* cancels monitor_work synchronously -- that will run
monitor_work and re-enable the timer ...
Mostly theoretical, if you can reproduce it (which I very much doubt)
you could try the patch below.
johannes
--- wireless-testing.orig/net/mac80211/mlme.c 2011-11-09 12:05:44.000000000 +0100
+++ wireless-testing/net/mac80211/mlme.c 2011-11-09 12:07:11.000000000 +0100
@@ -2288,6 +2288,7 @@ void ieee80211_sta_quiesce(struct ieee80
cancel_work_sync(&ifmgd->request_smps_work);
+ cancel_work_sync(&ifmgd->monitor_work);
cancel_work_sync(&ifmgd->beacon_connection_loss_work);
if (del_timer_sync(&ifmgd->timer))
set_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running);
@@ -2296,7 +2297,6 @@ void ieee80211_sta_quiesce(struct ieee80
if (del_timer_sync(&ifmgd->chswitch_timer))
set_bit(TMR_RUNNING_CHANSW, &ifmgd->timers_running);
- cancel_work_sync(&ifmgd->monitor_work);
/* these will just be re-established on connection */
del_timer_sync(&ifmgd->conn_mon_timer);
del_timer_sync(&ifmgd->bcn_mon_timer);
next prev parent reply other threads:[~2011-11-09 11:11 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-04 18:24 v3.1 - WARNING: at net/mac80211/util.c:540 ieee80211_can_queue_work Thomas Meyer
2011-11-04 19:25 ` Johannes Berg
2011-11-04 19:49 ` Thomas Meyer
2011-11-09 11:10 ` Johannes Berg [this message]
2011-11-09 21:01 ` Thomas Meyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1320837059.3845.35.camel@jlt3.sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=thomas@m3y3r.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.