Re: RFC/T: Trial fix for the bcm43xx - wpa_supplicant - NetworkManager deadlock
From: Larry Finger <hidden>
Date: 2006-11-21 16:30:59
Michael Buesch wrote:
On Tuesday 21 November 2006 09:49, Johannes Berg wrote:quoted
On Tue, 2006-11-21 at 00:17 +0100, Michael Buesch wrote:quoted
So, how to fix this? Actually, do we even _have_ to disable TX when scanning? I'd say no. Opinions?For active scanning we can't disable TX. And for passive scanning the firmware will block unwanted frames from going out on the wrong channel :)Ok, so people, please do test this patch. I did not test it myself, but I am pretty sure it will fix a lot of mysterious and unobvious bugs people are seeing.
I put the equivalent into my system about 12 hours ago and have not seen any problems. Larry
quoted hunk
Signed-off-by: Michael Buesch <redacted> Index: wireless-2.6/net/ieee80211/softmac/ieee80211softmac_scan.c ===================================================================--- wireless-2.6.orig/net/ieee80211/softmac/ieee80211softmac_scan.c 2006-09-27 19:34:20.000000000 +0200 +++ wireless-2.6/net/ieee80211/softmac/ieee80211softmac_scan.c 2006-11-21 09:57:14.000000000 +0100@@ -47,7 +47,6 @@ ieee80211softmac_start_scan(struct ieee8 sm->scanning = 1; spin_unlock_irqrestore(&sm->lock, flags); - netif_tx_disable(sm->ieee->dev); ret = sm->start_scan(sm->dev); if (ret) { spin_lock_irqsave(&sm->lock, flags);@@ -248,7 +247,6 @@ void ieee80211softmac_scan_finished(stru if (net) sm->set_channel(sm->dev, net->channel); } - netif_wake_queue(sm->ieee->dev); ieee80211softmac_call_events(sm, IEEE80211SOFTMAC_EVENT_SCAN_FINISHED, NULL); } EXPORT_SYMBOL_GPL(ieee80211softmac_scan_finished);