From: Michael Buesch <mb@bu3sch.de>
To: "Ivo Van Doorn" <ivdoorn@gmail.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
"Johannes Berg" <johannes@sipsolutions.net>
Subject: Re: mac80211: workqueue & RTNL lock
Date: Mon, 23 Jun 2008 11:20:41 +0200 [thread overview]
Message-ID: <200806231120.41519.mb@bu3sch.de> (raw)
In-Reply-To: <a32f33a40806230130t11022b31p3d9997ab5e449fe6@mail.gmail.com>
On Monday 23 June 2008 10:30:47 Ivo Van Doorn wrote:
> On 6/23/08, Michael Buesch <mb@bu3sch.de> wrote:
> > On Monday 23 June 2008 00:42:41 Ivo van Doorn wrote:
> >> That function calls flush_workqueue()
> >
> > Uh wait. It shouldn't call that. Where exactly is this function called?
>
> It is called right before local->ops->remove_interface() which means the
> workqueue is flushed when it isn't even guaranteed that all interfaces are gone.
>
> net/mac80211/main.c:553
>
> static int ieee80211_stop(struct net_device *dev)
> {
> <snip>
> switch (sdata->vif.type) {
> case IEEE80211_IF_TYPE_MESH_POINT:
> case IEEE80211_IF_TYPE_STA:
> case IEEE80211_IF_TYPE_IBSS:
> <snip>
> flush_workqueue(local->hw.workqueue);
> <snip>
> }
> <snip>
> }
Oh right. I see. This is actually OK. I thought it would flush the global wq.
The local mac80211 wq was introduced to workaround this rtnl deadlock,
so I'm surprised it happens again.
--
Greetings Michael.
next prev parent reply other threads:[~2008-06-23 9:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-22 22:42 mac80211: workqueue & RTNL lock Ivo van Doorn
2008-06-22 22:30 ` Michael Buesch
2008-06-23 8:30 ` Ivo Van Doorn
2008-06-23 9:20 ` Michael Buesch [this message]
2008-06-23 11:17 ` Ivo Van Doorn
2008-06-24 8:51 ` Johannes Berg
2008-06-24 9:03 ` Ivo Van Doorn
2008-06-24 9:10 ` Johannes Berg
2008-06-24 9:20 ` Ivo Van Doorn
2008-06-24 9:28 ` Johannes Berg
2008-06-24 9:33 ` Ivo Van Doorn
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=200806231120.41519.mb@bu3sch.de \
--to=mb@bu3sch.de \
--cc=ivdoorn@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.