forked from Minki/linux
wl1271: Fix WEP key handling
WEP key index handling was broken: the default key when using key 0 was never specified to the FW, and if using other default than 0, it would be set on the TX path for every single TX'd frame. 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>
This commit is contained in:
parent
fddc7dd7de
commit
ee444cf050
@ -1475,6 +1475,14 @@ static int wl1271_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
|
||||
wl1271_error("Could not add or replace key");
|
||||
goto out_sleep;
|
||||
}
|
||||
|
||||
/* the default WEP key needs to be configured at least once */
|
||||
if (key_type == KEY_WEP) {
|
||||
ret = wl1271_cmd_set_default_wep_key(wl,
|
||||
wl->default_key);
|
||||
if (ret < 0)
|
||||
goto out_sleep;
|
||||
}
|
||||
break;
|
||||
|
||||
case DISABLE_KEY:
|
||||
|
@ -203,6 +203,7 @@ static int wl1271_tx_frame(struct wl1271 *wl, struct sk_buff *skb)
|
||||
ret = wl1271_cmd_set_default_wep_key(wl, idx);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
wl->default_key = idx;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user