|
@@ -4214,7 +4214,6 @@ redo:
|
|
|
mutex_unlock(&wl->mutex);
|
|
|
cancel_delayed_work_sync(&dev->periodic_work);
|
|
|
cancel_work_sync(&wl->tx_work);
|
|
|
- cancel_work_sync(&wl->firmware_load);
|
|
|
mutex_lock(&wl->mutex);
|
|
|
dev = wl->current_dev;
|
|
|
if (!dev || b43_status(dev) < B43_STAT_STARTED) {
|
|
@@ -5434,6 +5433,7 @@ static void b43_bcma_remove(struct bcma_device *core)
|
|
|
/* We must cancel any work here before unregistering from ieee80211,
|
|
|
* as the ieee80211 unreg will destroy the workqueue. */
|
|
|
cancel_work_sync(&wldev->restart_work);
|
|
|
+ cancel_work_sync(&wl->firmware_load);
|
|
|
|
|
|
B43_WARN_ON(!wl);
|
|
|
if (!wldev->fw.ucode.data)
|
|
@@ -5510,6 +5510,7 @@ static void b43_ssb_remove(struct ssb_device *sdev)
|
|
|
/* We must cancel any work here before unregistering from ieee80211,
|
|
|
* as the ieee80211 unreg will destroy the workqueue. */
|
|
|
cancel_work_sync(&wldev->restart_work);
|
|
|
+ cancel_work_sync(&wl->firmware_load);
|
|
|
|
|
|
B43_WARN_ON(!wl);
|
|
|
if (!wldev->fw.ucode.data)
|