ath9k_htc: cancel ani work in ath9k_htc_stop
authorRajkumar Manoharan <rmanoharan@atheros.com>
Mon, 31 Jan 2011 18:17:42 +0000 (23:47 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 3 Feb 2011 21:44:42 +0000 (16:44 -0500)
ani work is cancelled in dissaoctiation. But in some cases
during suspend, deauthention never be called. So we failed
to stop ani work which was identified by the following
warning.

Call Trace:
 [<ffffffffa0454a1d>] ieee80211_can_queue_work.clone.17+0x2d/0x40 [mac80211]
 [<ffffffffa0454a60>] ieee80211_queue_delayed_work+0x30/0x60 [mac80211]
 [<ffffffffa0567f82>] ath9k_ani_work+0x142/0x250 [ath9k_htc]
 [<ffffffff81073c70>] async_run_entry_fn+0x0/0x180
 [<ffffffffa0567e40>] ath9k_ani_work+0x0/0x250 [ath9k_htc]

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc_drv_main.c

index a702089..0526c25 100644 (file)
@@ -1052,6 +1052,7 @@ static void ath9k_htc_stop(struct ieee80211_hw *hw)
        cancel_work_sync(&priv->fatal_work);
        cancel_work_sync(&priv->ps_work);
        cancel_delayed_work_sync(&priv->ath9k_led_blink_work);
+       cancel_delayed_work_sync(&priv->ath9k_ani_work);
        ath9k_led_stop_brightness(priv);
 
        mutex_lock(&priv->mutex);