Search Linux Wireless

Re: [PATCH 06/16] wl1251: fix deadlock with ieee80211 beacon filter calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes:

> On Tue, 2009-11-17 at 18:48 +0200, Kalle Valo wrote:
>> From: Vidhya Govindan <vidhya.govindan@xxxxxxxxx>
>> 
>> Lockdep shows that there is a deadlock when calling ieee80211_rssi_changed()
>> under wl->mutex. Fix it by releasing mutex before calling mac80211 functions.
>> This patch is based on Work-In-Progress patch sent by Kalle Valo.
>
>>  	if (vector & SYNCHRONIZATION_TIMEOUT_EVENT_ID && wl->psm) {
>>  		wl1251_debug(DEBUG_EVENT, "SYNCHRONIZATION_TIMEOUT_EVENT");
>> +		/* need to unlock mutex to avoid deadlocking with rtnl */
>> +		mutex_unlock(&wl->mutex);
>>  
>>  		/* indicate to the stack, that beacons have been lost */
>>  		ieee80211_beacon_loss(wl->vif);
>> +		mutex_lock(&wl->mutex);
>
> That can't be true, ieee80211_beacon_loss() only calls
> ieee80211_queue_work().

You are correct, of course. The problem was in our internal and
heavily patched 2.6.28 tree, but not in wireless-testing. I should
have checked this when I was rebasing the patches. Johannes, thank you
for noticing this!

John, can you drop this patch or do you want me to resend the patch
set? Based on stgit there might some problems with patch 10 after
dropping this patch, but at least stgit was able to handle it
automatically.

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux