summaryrefslogtreecommitdiffstats
path: root/net/mac80211/key.c
diff options
context:
space:
mode:
authorJohn W. Linville2011-01-05 20:35:41 +0100
committerJohn W. Linville2011-01-05 20:35:41 +0100
commit6303710d7aa62bfb154cd13ab5ab12cfa8baaf91 (patch)
tree4718ca3186d92819b3d617f32813eab6a1896b91 /net/mac80211/key.c
parentlibertas: down_interruptible() can return -EINTR, not EINTR (diff)
parentmac80211: add missing synchronize_rcu (diff)
downloadkernel-qcow2-linux-6303710d7aa62bfb154cd13ab5ab12cfa8baaf91.tar.gz
kernel-qcow2-linux-6303710d7aa62bfb154cd13ab5ab12cfa8baaf91.tar.xz
kernel-qcow2-linux-6303710d7aa62bfb154cd13ab5ab12cfa8baaf91.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'net/mac80211/key.c')
-rw-r--r--net/mac80211/key.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mac80211/key.c b/net/mac80211/key.c
index 315ee301b75e..8c02469b7176 100644
--- a/net/mac80211/key.c
+++ b/net/mac80211/key.c
@@ -375,6 +375,12 @@ static void __ieee80211_key_destroy(struct ieee80211_key *key)
if (!key)
return;
+ /*
+ * Synchronize so the TX path can no longer be using
+ * this key before we free/remove it.
+ */
+ synchronize_rcu();
+
if (key->local)
ieee80211_key_disable_hw_accel(key);