aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2008-12-19 12:40:00 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-12-19 15:24:04 -0500
commitb929ecf7965c2dab7e373f390ac5fc563011484d (patch)
tree915a70623f5b18309dbc2cf7ba6355d4ba4c19e4 /drivers/net/wireless/b43
parentfd6effcaf8a894c0a0f602b943dbc54a170d4418 (diff)
b43: Suspend MAC while killing the radio
We should suspend the MAC, before we kill the radio. This gives the MAC a chance to leave any TX/RX state and it avoids races on the PHY/RADIO registers. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43')
-rw-r--r--drivers/net/wireless/b43/phy_common.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/phy_common.c b/drivers/net/wireless/b43/phy_common.c
index 2ebfc7d1508b..026b61c03fb9 100644
--- a/drivers/net/wireless/b43/phy_common.c
+++ b/drivers/net/wireless/b43/phy_common.c
@@ -296,8 +296,10 @@ void b43_software_rfkill(struct b43_wldev *dev, enum rfkill_state state)
296 state = RFKILL_STATE_SOFT_BLOCKED; 296 state = RFKILL_STATE_SOFT_BLOCKED;
297 } 297 }
298 298
299 b43_mac_suspend(dev);
299 phy->ops->software_rfkill(dev, state); 300 phy->ops->software_rfkill(dev, state);
300 phy->radio_on = (state == RFKILL_STATE_UNBLOCKED); 301 phy->radio_on = (state == RFKILL_STATE_UNBLOCKED);
302 b43_mac_enable(dev);
301} 303}
302 304
303/** 305/**