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