aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/913-wlcore-don-t-handle-unsetting-of-default-wep-key.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/913-wlcore-don-t-handle-unsetting-of-default-wep-key.patch')
-rw-r--r--package/kernel/mac80211/patches/913-wlcore-don-t-handle-unsetting-of-default-wep-key.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/913-wlcore-don-t-handle-unsetting-of-default-wep-key.patch b/package/kernel/mac80211/patches/913-wlcore-don-t-handle-unsetting-of-default-wep-key.patch
new file mode 100644
index 0000000000..69621c59fe
--- /dev/null
+++ b/package/kernel/mac80211/patches/913-wlcore-don-t-handle-unsetting-of-default-wep-key.patch
@@ -0,0 +1,28 @@
+mac80211 unsets the default wep key on disassoc.
+The fw doesn't support this notification, so simply
+ignore it.
+
+The actual flow actually triggers fw recovery in some
+cases, as mac80211 unsets the default key only after
+disassoc, when wlvif->sta.hlid, resulting in invalid
+hlid being passed to the fw.
+
+Signed-off-by: Eliad Peller <eliad@wizery.com>
+
+---
+drivers/net/wireless/ti/wlcore/main.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/net/wireless/ti/wlcore/main.c
++++ b/drivers/net/wireless/ti/wlcore/main.c
+@@ -3505,6 +3505,10 @@ static void wl1271_op_set_default_key_id
+ wl1271_debug(DEBUG_MAC80211, "mac80211 set default key idx %d",
+ key_idx);
+
++ /* we don't handle unsetting of default key */
++ if (key_idx == -1)
++ return;
++
+ mutex_lock(&wl->mutex);
+
+ if (unlikely(wl->state != WLCORE_STATE_ON)) {