[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <512A6C42.8080508@lwfinger.net>
Date: Sun, 24 Feb 2013 13:38:42 -0600
From: Larry Finger <Larry.Finger@...inger.net>
To: Johannes Berg <johannes@...solutions.net>
CC: Rafał Miłecki <zajec5@...il.com>,
Michael Büsch <m@...s.ch>,
linux-wireless <linux-wireless@...r.kernel.org>,
b43-dev <b43-dev@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: Lockdep splat when unloading b43
On 02/24/2013 12:14 PM, Johannes Berg wrote:
> On Sun, 2013-02-24 at 11:31 -0600, Larry Finger wrote:
Thanks for the detailed analysis. It was very helpful.
> Here request_firmware calls wiphy_register which locks the RTNL, and
> it's running from the work struct. This was newly introduced by commit
> ecb4433550f0620f3d1471ae7099037ede30a91e
> Author: Stanislaw Gruszka <sgruszka@...hat.com>
> Date: Fri Aug 12 14:00:59 2011 +0200
>
> mac80211: fix suspend/resume races with unregister hw
That commit may bear some responsibility, but commit
6b6fa5868eec26bdc6a83543cebb8cf832a2645a
Author: Larry Finger <Larry.Finger@...inger.net>
Date: Thu Mar 8 22:27:46 2012 -0600
b43: Load firmware from a work queue and not from the probe routine
is also at fault.
> Anyway, the solution probably is to move the cancel_work_sync into
> something like the ssb deregister.
This fix was also suggested by Michael - it works.
The change to load the firmware from a work queue failed when b43 was built into
the kernel, which required commit 5e20a4b53094651d80f856ff55a916b999dbb57a
Author: Larry Finger <Larry.Finger@...inger.net>
Date: Thu Dec 20 15:55:01 2012 -0600
b43: Fix firmware loading when driver is built into the kernel
I probably should do a rewrite of firmware loading, but that is unlikely to
happen. Fortunately, moving the cancel work call is a small enough change that
it can be backported to stable.
Thanks,
Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists