]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mac80211: use del_timer_sync for final sta cleanup timer deletion
authorJohannes Berg <johannes.berg@intel.com>
Thu, 13 Dec 2012 22:08:52 +0000 (23:08 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Jan 2013 16:46:36 +0000 (08:46 -0800)
commit a56f992cdabc63f56b4b142885deebebf936ff76 upstream.

This is a very old bug, but there's nothing that prevents the
timer from running while the module is being removed when we
only do del_timer() instead of del_timer_sync().

The timer should normally not be running at this point, but
it's not clearly impossible (or we could just remove this.)

Tested-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/sta_info.c

index dc2a33de29b89538fb5b051e6b7fcfcf8c1cc279..8a9931ba9e146df50f7a9393619e870afe9e0a40 100644 (file)
@@ -870,7 +870,7 @@ void sta_info_init(struct ieee80211_local *local)
 
 void sta_info_stop(struct ieee80211_local *local)
 {
-       del_timer(&local->sta_cleanup);
+       del_timer_sync(&local->sta_cleanup);
        sta_info_flush(local, NULL);
 }