2006-12-24 15:51:59

by Larry Finger

[permalink] [raw]
Subject: bcm43xx-softmac broken on 2.6.20-rc2

This is a heads-up for anyone wishing to use bcm43xx-softmac on Linus's git tree, which is now at
v2.6.20-rc2. There are two serious bugs in that code. Fixes are found below.

The first bug is the result of changes in work queues. The second is the result of a typo that locks
a mutex when it should unlock it.

These fixes have been pushed up stream, but neither has made it to Linus.

Larry
---

diff --git a/net/ieee80211/softmac/ieee80211softmac_assoc.c
b/net/ieee80211/softmac/ieee80211softmac_assoc.c
index eec1a1d..a824852 100644
--- a/net/ieee80211/softmac/ieee80211softmac_assoc.c
+++ b/net/ieee80211/softmac/ieee80211softmac_assoc.c
@@ -167,7 +167,7 @@ static void
ieee80211softmac_assoc_notify_scan(struct net_device *dev, int event_type, void *context)
{
struct ieee80211softmac_device *mac = ieee80211_priv(dev);
- ieee80211softmac_assoc_work((void*)mac);
+ ieee80211softmac_assoc_work(&mac->associnfo.work.work);
}

static void
@@ -177,7 +177,7 @@ ieee80211softmac_assoc_notify_auth(struc

switch (event_type) {
case IEEE80211SOFTMAC_EVENT_AUTHENTICATED:
- ieee80211softmac_assoc_work((void*)mac);
+ ieee80211softmac_assoc_work(&mac->associnfo.work.work);
break;
case IEEE80211SOFTMAC_EVENT_AUTH_FAILED:
case IEEE80211SOFTMAC_EVENT_AUTH_TIMEOUT:




Index: linux-2.6/net/ieee80211/softmac/ieee80211softmac_wx.c
===================================================================
--- linux-2.6.orig/net/ieee80211/softmac/ieee80211softmac_wx.c
+++ linux-2.6/net/ieee80211/softmac/ieee80211softmac_wx.c
@@ -463,7 +463,7 @@ ieee80211softmac_wx_get_genie(struct net
err = -E2BIG;
}
spin_unlock_irqrestore(&mac->lock, flags);
- mutex_lock(&mac->associnfo.mutex);
+ mutex_unlock(&mac->associnfo.mutex);

return err;
}


2006-12-26 16:12:03

by bert hubert

[permalink] [raw]
Subject: Re: bcm43xx-softmac broken on 2.6.20-rc2

On Sun, Dec 24, 2006 at 09:51:50AM -0600, Larry Finger wrote:
> This is a heads-up for anyone wishing to use bcm43xx-softmac on Linus's git
> tree, which is now at
> v2.6.20-rc2. There are two serious bugs in that code. Fixes are found below.

For some reason your patch does not apply to stock 2.6.20-rc2, although I
don't see why. Applying it by hand makes things compile though, and even
fixes the problem I mentioned in my previous post:

http://www.spinics.net/lists/netdev/msg21906.html

Thanks!

--
http://www.PowerDNS.com Open source, database driven DNS Software
http://netherlabs.nl Open and Closed source services

2006-12-26 16:24:26

by Larry Finger

[permalink] [raw]
Subject: Re: bcm43xx-softmac broken on 2.6.20-rc2

bert hubert wrote:
> On Sun, Dec 24, 2006 at 09:51:50AM -0600, Larry Finger wrote:
>> This is a heads-up for anyone wishing to use bcm43xx-softmac on Linus's git
>> tree, which is now at
>> v2.6.20-rc2. There are two serious bugs in that code. Fixes are found below.
>
> For some reason your patch does not apply to stock 2.6.20-rc2, although I
> don't see why. Applying it by hand makes things compile though, and even
> fixes the problem I mentioned in my previous post:

The patch does not apply because your mailer is breaking the white space and substituting spaces for
tabs.

Larry

2006-12-26 16:28:58

by Andreas Schwab

[permalink] [raw]
Subject: Re: bcm43xx-softmac broken on 2.6.20-rc2

Larry Finger <[email protected]> writes:

> The patch does not apply because your mailer is breaking the white space and substituting spaces for
> tabs.

No, it does not apply because it was space-stuffed.

Andreas.

--
Andreas Schwab, SuSE Labs, [email protected]
SuSE Linux Products GmbH, Maxfeldstra?e 5, 90409 N?rnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."