Switching the interface mode with some encryption keys set and then later touching any key, triggers an oops because ieee80211_if_reinit fails to NULL'ify the related pointers after free'ing the key on mode change. Long explanation, simple fix below.
Signed-off-by: Jan Kiszka <[EMAIL PROTECTED]>
[Sorry, yet another rt2x00 CVS patch...]
---
ieee80211/ieee80211_iface.c | 1 +
1 file changed, 1 insertion(+)
Index: rt2x00/ieee80211/ieee80211_iface.c
===================================================================
--- rt2x00.orig/ieee80211/ieee80211_iface.c
+++ rt2x00/ieee80211/ieee80211_iface.c
@@ -231,6 +231,7 @@ void ieee80211_if_reinit(struct net_devi
local->keys[i], 0);
#endif
ieee80211_key_free(sdata->keys[i]);
+ sdata->keys[i] = NULL;
}
/* Shouldn't be necessary but won't hurt */
signature.asc
Description: OpenPGP digital signature
