Subject: Re: RFC/T: Trial fix for the bcm43xx - wpa_supplicant - NetworkManager deadlock

From: Michael Buesch <[email-masked]>
Date: Tue, 21 Nov 2006 09:59:17 +0100

On Tuesday 21 November 2006 09:49, Johannes Berg wrote:
> On Tue, 2006-11-21 at 00:17 +0100, Michael Buesch wrote:
> 
> > 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.

Signed-off-by: Michael Buesch <[email-masked]>

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);

-- 
Greetings Michael.