wl1271: Fix key-remove error
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>
Thu, 18 Feb 2010 11:25:49 +0000 (13:25 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 19 Feb 2010 20:52:45 +0000 (15:52 -0500)
The new firmware does not allow removal of unicast keys - they will be
automatically removed on the next CMD_JOIN.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1271_main.c

index 9de7df76f53bcbd093e31e0b4cb7db094dcefd52..4a0a15bcd67e3155d4e312f3d02c42150b13dc2e 100644 (file)
@@ -1478,6 +1478,13 @@ static int wl1271_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
                break;
 
        case DISABLE_KEY:
+               /* The wl1271 does not allow to remove unicast keys - they
+                  will be cleared automatically on next CMD_JOIN. Ignore the
+                  request silently, as we dont want the mac80211 to emit
+                  an error message. */
+               if (!is_broadcast_ether_addr(addr))
+                       break;
+
                ret = wl1271_cmd_set_key(wl, KEY_REMOVE,
                                         key_conf->keyidx, key_type,
                                         key_conf->keylen, key_conf->key,