mirror of https://gitee.com/openkylin/linux.git
brcmfmac: return immediately error for out of range key_idx.
when brcmf_cfg80211_del_key was called with out of range key index then firmware would return error. Checking was added to brcmf_cfg80211_del_key to immediately return error. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
3f40b83971
commit
256c374f77
|
@ -1822,6 +1822,12 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev,
|
|||
if (!check_vif_up(ifp->vif))
|
||||
return -EIO;
|
||||
|
||||
if (key_idx >= DOT11_MAX_DEFAULT_KEYS) {
|
||||
/* we ignore this key index in this case */
|
||||
WL_ERR("invalid key index (%d)\n", key_idx);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
memset(&key, 0, sizeof(key));
|
||||
|
||||
key.index = (u32) key_idx;
|
||||
|
@ -1832,15 +1838,6 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev,
|
|||
|
||||
/* Set the new key/index */
|
||||
err = send_key_to_dongle(ndev, &key);
|
||||
if (err) {
|
||||
if (err == -EINVAL) {
|
||||
if (key.index >= DOT11_MAX_DEFAULT_KEYS)
|
||||
/* we ignore this key index in this case */
|
||||
WL_ERR("invalid key index (%d)\n", key_idx);
|
||||
}
|
||||
/* Ignore this error, may happen during DISASSOC */
|
||||
err = -EAGAIN;
|
||||
}
|
||||
|
||||
WL_TRACE("Exit\n");
|
||||
return err;
|
||||
|
|
Loading…
Reference in New Issue