summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-12-13 23:08:52 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-17 08:51:04 -0800
commit848842e67d24fed13a2aece3d03e235267e5a3a6 (patch)
treec1ea5e2cd143b718dd4533eabeeb463040eb45ff
parent5ca99e71a9a6cf33a217690f5d87bc0129d1effd (diff)
downloadlinux-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.c2
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);
}