summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>2012-04-25 12:38:18 +0530
committerKalle Valo <kvalo@qca.qualcomm.com>2012-04-26 15:04:37 +0300
commit7fd1ce7eafb8a68d75363e7500433b0ee4392843 (patch)
treec975256899917ce34a10eee229120adb166c10e7 /drivers/net/wireless/ath
parent6251d8012dbc49869f2453942089c4df82de0c80 (diff)
ath6kl: Don't advertise HT capability for incapable firmware
With firmwares which do not support rsn capability override (ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE) from host would cause 4-way handshake failure when HT cap is advertised. To fix this, do not advertise HT cap with cfg80211 for those fw. kvalo: fix a checkpatch warning Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath')
-rw-r--r--drivers/net/wireless/ath/ath6kl/cfg80211.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c
index f4467733ff5..3404ef21195 100644
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
@@ -3496,7 +3496,14 @@ int ath6kl_cfg80211_init(struct ath6kl *ar)
return -EINVAL;
}
- if (!ht) {
+ /*
+ * Even if the fw has HT support, advertise HT cap only when
+ * the firmware has support to override RSN capability, otherwise
+ * 4-way handshake would fail.
+ */
+ if (!(ht &&
+ test_bit(ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE,
+ ar->fw_capabilities))) {
ath6kl_band_2ghz.ht_cap.cap = 0;
ath6kl_band_2ghz.ht_cap.ht_supported = false;
ath6kl_band_5ghz.ht_cap.cap = 0;