[28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations

From: Greg KH
Date: Tue Feb 22 2011 - 17:32:13 EST


2.6.37-stable review patch. If anyone has any objections, please let us know.

------------------

From: Roland Vossen <rvossen@xxxxxxxxxxxx>

commit 6a3be6e6e7feb4cb35275475d6a863b748d59cc3 upstream.

Solved a locking issue that resulted in driver crashes with the 43224 and 43225
chips. The problem has been reported on several fora. Root cause was two fold:
hardware was being manipulated by two unsynchronized threads, and a scan
operation could interfere with an ongoing dynamic calibration process. Fix was
to invoke a lock on wl_ops_config() operation and to set internal flags when a
scan operation is started and stopped.

Please add this to the staging-linus branch.

Signed-off-by: Roland Vossen <rvossen@xxxxxxxxxxxx>
Acked-by: Brett Rudley <brudley@xxxxxxxxxxxx>
Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>


---
drivers/staging/brcm80211/sys/wlc_mac80211.c | 1 -
1 file changed, 1 deletion(-)

--- a/drivers/staging/brcm80211/sys/wlc_mac80211.c
+++ b/drivers/staging/brcm80211/sys/wlc_mac80211.c
@@ -5336,7 +5336,6 @@ wlc_sendpkt_mac80211(wlc_info_t *wlc, vo
fifo = prio2fifo[prio];

ASSERT((uint) PKTHEADROOM(sdu) >= TXOFF);
- ASSERT(!PKTSHARED(sdu));
ASSERT(!PKTNEXT(sdu));
ASSERT(!PKTLINK(sdu));
ASSERT(fifo < NFIFO);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/