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