diff options
author | Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> | 2012-04-25 03:08:18 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2012-04-26 08:04:37 -0400 |
commit | 7fd1ce7eafb8a68d75363e7500433b0ee4392843 (patch) | |
tree | c975256899917ce34a10eee229120adb166c10e7 /drivers/net/wireless/ath/ath6kl | |
parent | 6251d8012dbc49869f2453942089c4df82de0c80 (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/ath6kl')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/cfg80211.c | 9 |
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 f4467733ff5b..3404ef211952 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) | |||
3496 | return -EINVAL; | 3496 | return -EINVAL; |
3497 | } | 3497 | } |
3498 | 3498 | ||
3499 | if (!ht) { | 3499 | /* |
3500 | * Even if the fw has HT support, advertise HT cap only when | ||
3501 | * the firmware has support to override RSN capability, otherwise | ||
3502 | * 4-way handshake would fail. | ||
3503 | */ | ||
3504 | if (!(ht && | ||
3505 | test_bit(ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE, | ||
3506 | ar->fw_capabilities))) { | ||
3500 | ath6kl_band_2ghz.ht_cap.cap = 0; | 3507 | ath6kl_band_2ghz.ht_cap.cap = 0; |
3501 | ath6kl_band_2ghz.ht_cap.ht_supported = false; | 3508 | ath6kl_band_2ghz.ht_cap.ht_supported = false; |
3502 | ath6kl_band_5ghz.ht_cap.cap = 0; | 3509 | ath6kl_band_5ghz.ht_cap.cap = 0; |