From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from bues.ch ([80.190.117.144]:41838 "EHLO bues.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755372Ab3BXTA0 (ORCPT ); Sun, 24 Feb 2013 14:00:26 -0500 Date: Sun, 24 Feb 2013 19:32:39 +0100 From: Michael =?UTF-8?B?QsO8c2No?= To: Larry Finger Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , linux-wireless , b43-dev , LKML Subject: Re: Lockdep splat when unloading b43 Message-ID: <20130224193239.3517e6ac@milhouse> (sfid-20130224_200045_229216_9DB08908) In-Reply-To: <512A4E83.5090901@lwfinger.net> References: <512A4E83.5090901@lwfinger.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-wireless-owner@vger.kernel.org List-ID: 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