From 7fd1ce7eafb8a68d75363e7500433b0ee4392843 Mon Sep 17 00:00:00 2001 From: Vasanthakumar Thiagarajan Date: Wed, 25 Apr 2012 12:38:18 +0530 Subject: [PATCH] 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 Signed-off-by: Kalle Valo --- drivers/net/wireless/ath/ath6kl/cfg80211.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; -- 2.20.1