Return-path: Received: from courier.cs.helsinki.fi ([128.214.9.1]:59474 "EHLO mail.cs.helsinki.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751304AbYHAIGp (ORCPT ); Fri, 1 Aug 2008 04:06:45 -0400 Message-ID: <4892C359.9000304@cs.helsinki.fi> (sfid-20080801_100653_133499_75461D17) Date: Fri, 01 Aug 2008 11:03:37 +0300 From: Pekka Enberg MIME-Version: 1.0 To: Jiri Slaby CC: Dave Young , johannes@sipsolutions.net, akpm@linux-foundation.org, tomasw@gmail.com, linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org, ath5k-devel@lists.ath5k.org, me@bobcopeland.com, linville@tuxdriver.com Subject: Re: [PATCH] ath5k : ath5k_config_interface deadlock fix References: <20080801074014.GA3341@darkstar> <4892C2CA.7010003@gmail.com> In-Reply-To: <4892C2CA.7010003@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: Jiri Slaby wrote: > Dave Young napsal(a): >> In the drivers/net/wireless/ath5k/base.c, there's recursive locking of >> sc->lock >> This casue the kernel stuck >> >> Bug report please see: >> http://lkml.org/lkml/2008/7/29/32 >> >> Fixed it by remove the lock in sub routine "ath5k_beacon_update", >> The ath5k_config_interface is the only caller to it. >> >> [ 171.430207] ============================================= >> [ 171.432140] [ INFO: possible recursive locking detected ] >> [ 171.433113] 2.6.27-rc1-smp #4 >> [ 171.434079] --------------------------------------------- >> [ 171.435039] ath5k_pci/2447 is trying to acquire lock: >> [ 171.435990] (&sc->lock){--..}, at: [] >> ath5k_config_interface+0xd5/0x340 [ath5k] >> [ 171.437046] [ 171.437048] but task is already holding lock: >> [ 171.438903] (&sc->lock){--..}, at: [] >> ath5k_config_interface+0x3d/0x340 [ath5k] >> [ 171.439953] [ 171.439954] other info that might help us debug this: >> [ 171.441795] 3 locks held by ath5k_pci/2447: >> [ 171.442729] #0: ((name)){--..}, at: [] >> run_workqueue+0x102/0x1d0 >> [ 171.443800] #1: (&(&local->scan_work)->work){--..}, at: >> [] run_workqueue+0x102/0x1d0 >> [ 171.444859] #2: (&sc->lock){--..}, at: [] >> ath5k_config_interface+0x3d/0x340 [ath5k] > > Should be fixed already: > http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=commitdiff_plain;h=bc05116ab33d30342e2b4b1bcc6d6e1184e9df97 I guess that didn't make it to -stable?