]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/mac80211/main.c
mac80211: Only flush workqueue when last interface was removed
[mv-sheeva.git] / net / mac80211 / main.c
index 98c0b5e56ecc02e50a754dd0b77303dac9b6160c..df0836ff1a206c4cfaf25d5ba602ed5496a95b89 100644 (file)
@@ -530,8 +530,6 @@ static int ieee80211_stop(struct net_device *dev)
                                local->sta_hw_scanning = 0;
                }
 
-               flush_workqueue(local->hw.workqueue);
-
                sdata->u.sta.flags &= ~IEEE80211_STA_PRIVACY_INVOKED;
                kfree(sdata->u.sta.extra_ie);
                sdata->u.sta.extra_ie = NULL;
@@ -555,6 +553,8 @@ static int ieee80211_stop(struct net_device *dev)
 
                ieee80211_led_radio(local, 0);
 
+               flush_workqueue(local->hw.workqueue);
+
                tasklet_disable(&local->tx_pending_tasklet);
                tasklet_disable(&local->tasklet);
        }