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 73730e94e0a..c5a99c8c816 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)  	cancel_work_sync(&wldev->restart_work);  	B43_WARN_ON(!wl); +	if (!wldev->fw.ucode.data) +		return;			/* NULL if firmware never loaded */  	if (wl->current_dev == wldev && wl->hw_registred) {  		b43_leds_stop(wldev);  		ieee80211_unregister_hw(wl->hw); @@ -5478,6 +5480,8 @@ static void b43_ssb_remove(struct ssb_device *sdev)  	cancel_work_sync(&wldev->restart_work);  	B43_WARN_ON(!wl); +	if (!wldev->fw.ucode.data) +		return;			/* NULL if firmware never loaded */  	if (wl->current_dev == wldev && wl->hw_registred) {  		b43_leds_stop(wldev);  		ieee80211_unregister_hw(wl->hw);  |