From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael =?UTF-8?B?QsO8c2No?= Date: Sun, 24 Feb 2013 19:32:39 +0100 Subject: Lockdep splat when unloading b43 In-Reply-To: <512A4E83.5090901@lwfinger.net> References: <512A4E83.5090901@lwfinger.net> Message-ID: <20130224193239.3517e6ac@milhouse> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Larry Finger Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , linux-wireless , b43-dev , LKML On Sun, 24 Feb 2013 11:31:47 -0600 Larry Finger wrote: > With the current wireless-testing tree, unloading b43 produces the lockdep log > splat copied below. My understanding of locking is deficient, and I would like > to learn. Any help on understanding this problem is appreciated. A few questions: Is there any reason for using the global workqueue and not mac80211's workqueue? Why is the workqueue cancelled in the core_stop callback? Wouldn't it make more sense to cancel it in bcma_remove/ssb_remove? This would probably fix the circular dependency. But I'm not entirely sure, because I'm not that familiar with the code anymore. -- Michael