Browse Source

wcn36xx: Clear encrypt_type when deleting bss key

This fixes a problem connecting to an open network after being
connected to an encrypted network.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Pontus Fuchs 9 years ago
parent
commit
2716a8ac65
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/net/wireless/ath/wcn36xx/main.c

+ 2 - 0
drivers/net/wireless/ath/wcn36xx/main.c

@@ -471,6 +471,7 @@ static int wcn36xx_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
 		break;
 		break;
 	case DISABLE_KEY:
 	case DISABLE_KEY:
 		if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) {
 		if (!(IEEE80211_KEY_FLAG_PAIRWISE & key_conf->flags)) {
+			vif_priv->encrypt_type = WCN36XX_HAL_ED_NONE;
 			wcn36xx_smd_remove_bsskey(wcn,
 			wcn36xx_smd_remove_bsskey(wcn,
 				vif_priv->encrypt_type,
 				vif_priv->encrypt_type,
 				key_conf->keyidx);
 				key_conf->keyidx);
@@ -626,6 +627,7 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 		} else {
 		} else {
 			vif_priv->is_joining = false;
 			vif_priv->is_joining = false;
 			wcn36xx_smd_delete_bss(wcn, vif);
 			wcn36xx_smd_delete_bss(wcn, vif);
+			vif_priv->encrypt_type = WCN36XX_HAL_ED_NONE;
 		}
 		}
 	}
 	}