diff options
author | Michael Buesch <mb@bu3sch.de> | 2008-12-19 12:40:00 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-12-19 15:24:04 -0500 |
commit | b929ecf7965c2dab7e373f390ac5fc563011484d (patch) | |
tree | 915a70623f5b18309dbc2cf7ba6355d4ba4c19e4 /drivers/net/wireless/b43/phy_common.c | |
parent | fd6effcaf8a894c0a0f602b943dbc54a170d4418 (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/phy_common.c')
-rw-r--r-- | drivers/net/wireless/b43/phy_common.c | 2 |
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 | /** |