aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-07-27 14:53:02 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-08-04 16:43:18 -0400
commit9851bad7a3ab601b8b5b156119a7d0fd15b47fa3 (patch)
treee97b83d7dfd6b9aacdb3a339f3bd93bedf258aaf /drivers/net
parent4da163ab0a224590f3cae67c1d54ae8c428f6223 (diff)
ath9k: re-order cancelling of work on mac80211 workqueue
ath9k uses the mac80211 workqueue for 4 different types of work: * Led blink work * TX hang monitoring work * internal wiphy schedular work * channel change work done for internal wiphy schedular Since the internal wiphy schedular can end up kicking off some channel channel change work we should first cancel the wiphy schedular work and then the channel change work. The TX hang work can be cancelled second since we're going down anyway. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 75ddb2acb644..49f27648fec8 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1252,9 +1252,9 @@ void ath_detach(struct ath_softc *sc)
1252 DPRINTF(sc, ATH_DBG_CONFIG, "Detach ATH hw\n"); 1252 DPRINTF(sc, ATH_DBG_CONFIG, "Detach ATH hw\n");
1253 1253
1254 ath_deinit_leds(sc); 1254 ath_deinit_leds(sc);
1255 cancel_work_sync(&sc->chan_work);
1256 cancel_delayed_work_sync(&sc->wiphy_work);
1257 cancel_delayed_work_sync(&sc->tx_complete_work); 1255 cancel_delayed_work_sync(&sc->tx_complete_work);
1256 cancel_delayed_work_sync(&sc->wiphy_work);
1257 cancel_work_sync(&sc->chan_work);
1258 1258
1259 for (i = 0; i < sc->num_sec_wiphy; i++) { 1259 for (i = 0; i < sc->num_sec_wiphy; i++) {
1260 struct ath_wiphy *aphy = sc->sec_wiphy[i]; 1260 struct ath_wiphy *aphy = sc->sec_wiphy[i];