From: Robin Holt <holt@sgi.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Robin Holt <holt@sgi.com>,
linux-wireless@vger.kernel.org, Jiri Slaby <jirislaby@gmail.com>,
Michael Wu <flamingice@sourmilk.net>, Jiri Benc <jbenc@suse.cz>
Subject: Re: Infinite loop in sta_info_debugfs_add_work().
Date: Tue, 7 Oct 2008 17:52:45 -0500 [thread overview]
Message-ID: <20081007225245.GN8534@sgi.com> (raw)
In-Reply-To: <1223330976.3778.47.camel@johannes.berg>
On Tue, Oct 07, 2008 at 12:09:36AM +0200, Johannes Berg wrote:
> On Mon, 2008-10-06 at 08:30 -0500, Robin Holt wrote:
>
> > I didn't really need to do much for the printk's in
> > ieee80211_sta_debugfs_add(). My printk's in sta_info_debugfs_add_work()
> > already told me that sta->local->debugfs.stations is NULL.
>
> Well yes, but I wanted to know why ieee80211_sta_debugfs_add() doesn't
> set debugfs.stations to non-NULL.
>
> > Again, this
> > is iwl3945 only after a suspend of a few minutes followed by a resume.
> > It happens about 1/3 of the time.
>
> Ok, I have a new suspicion: there seems to be a race condition between
> destroying a station (sta_info_destroy) which removes it from debugfs,
> and creating a new one with the same MAC address which will ask the
> workqueue to add it to debugfs. It clearly is actually possible to run
> sta_info_insert(sta2) and consequently sta_info_debugfs_add_work before
> sta_info_destroy(sta1), but when they both have the same MAC address
> then ieee80211_sta_debugfs_add has to fail.
>
> I don't see much we can do against this, the patch I posted is
> definitely needed just in case debugfs gets a new failure mode any time
> in the future so I'll post it for inclusion, and the race condition I
> described just means that the sta2 won't be in debugfs at all...
That race seems more plausible.
On a seperate note, I got a panic with your earlier patch applied at:
IP: [<f8c669df>] :mac80211:netdev_notify+0x5f/0x90
Not sure if that is just exposed by the hangs being out of the way. I
hand wrote that part. Nothing else got captured in the logs :(
Thanks,
Robin
next prev parent reply other threads:[~2008-10-07 22:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-04 10:31 Infinite loop in sta_info_debugfs_add_work() Robin Holt
2008-10-05 0:19 ` Johannes Berg
2008-10-05 2:31 ` Robin Holt
2008-10-05 8:38 ` Johannes Berg
2008-10-06 6:45 ` Robin Holt
2008-10-06 8:57 ` Johannes Berg
2008-10-06 13:30 ` Robin Holt
2008-10-06 22:09 ` Johannes Berg
2008-10-07 22:52 ` Robin Holt [this message]
2008-10-08 7:58 ` Johannes Berg
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=20081007225245.GN8534@sgi.com \
--to=holt@sgi.com \
--cc=flamingice@sourmilk.net \
--cc=jbenc@suse.cz \
--cc=jirislaby@gmail.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/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.