diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 73730e94e0ac..c5a99c8c8168 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -5404,6 +5404,8 @@ static void b43_bcma_remove(struct bcma_device *core) | |||
5404 | cancel_work_sync(&wldev->restart_work); | 5404 | cancel_work_sync(&wldev->restart_work); |
5405 | 5405 | ||
5406 | B43_WARN_ON(!wl); | 5406 | B43_WARN_ON(!wl); |
5407 | if (!wldev->fw.ucode.data) | ||
5408 | return; /* NULL if firmware never loaded */ | ||
5407 | if (wl->current_dev == wldev && wl->hw_registred) { | 5409 | if (wl->current_dev == wldev && wl->hw_registred) { |
5408 | b43_leds_stop(wldev); | 5410 | b43_leds_stop(wldev); |
5409 | ieee80211_unregister_hw(wl->hw); | 5411 | ieee80211_unregister_hw(wl->hw); |
@@ -5478,6 +5480,8 @@ static void b43_ssb_remove(struct ssb_device *sdev) | |||
5478 | cancel_work_sync(&wldev->restart_work); | 5480 | cancel_work_sync(&wldev->restart_work); |
5479 | 5481 | ||
5480 | B43_WARN_ON(!wl); | 5482 | B43_WARN_ON(!wl); |
5483 | if (!wldev->fw.ucode.data) | ||
5484 | return; /* NULL if firmware never loaded */ | ||
5481 | if (wl->current_dev == wldev && wl->hw_registred) { | 5485 | if (wl->current_dev == wldev && wl->hw_registred) { |
5482 | b43_leds_stop(wldev); | 5486 | b43_leds_stop(wldev); |
5483 | ieee80211_unregister_hw(wl->hw); | 5487 | ieee80211_unregister_hw(wl->hw); |