|
@@ -4852,6 +4852,9 @@ static void b43_op_stop(struct ieee80211_hw *hw)
|
|
|
|
|
|
cancel_work_sync(&(wl->beacon_update_trigger));
|
|
cancel_work_sync(&(wl->beacon_update_trigger));
|
|
|
|
|
|
|
|
+ if (!dev)
|
|
|
|
+ goto out;
|
|
|
|
+
|
|
mutex_lock(&wl->mutex);
|
|
mutex_lock(&wl->mutex);
|
|
if (b43_status(dev) >= B43_STAT_STARTED) {
|
|
if (b43_status(dev) >= B43_STAT_STARTED) {
|
|
dev = b43_wireless_core_stop(dev);
|
|
dev = b43_wireless_core_stop(dev);
|
|
@@ -4863,7 +4866,7 @@ static void b43_op_stop(struct ieee80211_hw *hw)
|
|
|
|
|
|
out_unlock:
|
|
out_unlock:
|
|
mutex_unlock(&wl->mutex);
|
|
mutex_unlock(&wl->mutex);
|
|
-
|
|
|
|
|
|
+out:
|
|
cancel_work_sync(&(wl->txpower_adjust_work));
|
|
cancel_work_sync(&(wl->txpower_adjust_work));
|
|
}
|
|
}
|
|
|
|
|