diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-12-13 23:08:52 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 08:51:04 -0800 |
commit | 848842e67d24fed13a2aece3d03e235267e5a3a6 (patch) | |
tree | c1ea5e2cd143b718dd4533eabeeb463040eb45ff | |
parent | 5ca99e71a9a6cf33a217690f5d87bc0129d1effd (diff) | |
download | linux-3.10-848842e67d24fed13a2aece3d03e235267e5a3a6.tar.gz linux-3.10-848842e67d24fed13a2aece3d03e235267e5a3a6.tar.bz2 linux-3.10-848842e67d24fed13a2aece3d03e235267e5a3a6.zip |
mac80211: use del_timer_sync for final sta cleanup timer deletion
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>
-rw-r--r-- | net/mac80211/sta_info.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 6d25d7796fc..e2e0e0bc662 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -844,7 +844,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); } |