summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Haber <phaber@broadcom.com>2012-09-19 20:21:15 (GMT)
committerJohn W. Linville <linville@tuxdriver.com>2012-09-24 19:02:06 (GMT)
commit82d8eba358badb466a4e988ecabf0668a8d92e9c (patch)
tree105d6856186d027017a454ddb27cae73bdcf9ee0
parent816432922bbbf67dec511711158738bfdaccb2e9 (diff)
downloadlinux-fsl-qoriq-82d8eba358badb466a4e988ecabf0668a8d92e9c.tar.xz
brcmsmac: don't start device when RfKill is engaged
This patch fixes a bug when device is being started while RfKill switch is engaged, leading to hang due to partial initialization of hardware. Tested-by: <dragonn@op.pl> Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
index 718da8d..a744ea5 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
@@ -304,7 +304,10 @@ static int brcms_ops_start(struct ieee80211_hw *hw)
wl->mute_tx = true;
if (!wl->pub->up)
- err = brcms_up(wl);
+ if (!blocked)
+ err = brcms_up(wl);
+ else
+ err = -ERFKILL;
else
err = -ENODEV;
spin_unlock_bh(&wl->lock);