[PATCH] [staging] brcm80211: fix radio disabled on attempt to bring up interface

From: jcm
Date: Tue Oct 12 2010 - 04:31:49 EST


The brcm80211 driver does not correctly handle the case that the wireless
radio hardware is physically disabled during interface initialization. An
attempt is made to check whether the radio is disabled, and in the case
that it is, a background worker is setup to monitor for the radio coming
online, but the interface queues are incorrectly brought up anyway. The
value BCME_RADIOOFF should be returned in wlc_up in such error case.

Signed-off-by: Jon Masters <jcm@xxxxxxxxxxxxxx>

diff -urNp brcm80211_orig/sys/wlc_mac80211.c brcm80211/sys/wlc_mac80211.c
--- brcm80211_orig/sys/wlc_mac80211.c 2010-10-12 04:18:07.940125220 -0400
+++ brcm80211/sys/wlc_mac80211.c 2010-10-12 04:19:19.814961117 -0400
@@ -2783,7 +2783,7 @@ int BCMINITFN(wlc_up) (wlc_info_t *wlc)

if (wlc->pub->radio_disabled) {
wlc_radio_monitor_start(wlc);
- return 0;
+ return BCME_RADIOOFF;
}

/* wlc_bmac_up_prep has done wlc_corereset(). so clk is on, set it */
--
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/