Search Linux Wireless

Re: [PATCH] wcn36xx: pass correct BSS index when deleting BSS keys

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Daniel,

> @@ -564,10 +565,13 @@ static int wcn36xx_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
>                 break;
>         case DISABLE_KEY:
>                 if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) {
> +                       if (vif_priv->bss_index != WCN36XX_HAL_BSS_INVALID_IDX)
> +                               wcn36xx_smd_remove_bsskey(wcn,
> +                                       vif_priv->encrypt_type,
> +                                       vif_priv->bss_index,
> +                                       key_conf->keyidx);
> +
>                         vif_priv->encrypt_type = WCN36XX_HAL_ED_NONE;
> -                       wcn36xx_smd_remove_bsskey(wcn,
> -                               vif_priv->encrypt_type,
> -                               key_conf->keyidx);

Note that moving vif_priv->encrypt_type = WCN36XX_HAL_ED_NONE after
key removal also fixes an issue I observed in AP mode:
wcn36xx: ERROR hal_remove_bsskey response failed err=6

Indeed, trying to remove a key with non-matching encrypt type fails,
keeping the right encrypt_type for removal fixes the issue.

Patch looks good.

Regards,
Loic



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux