]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ath6kl: Don't advertise HT capability for incapable firmware
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Wed, 25 Apr 2012 07:08:18 +0000 (12:38 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Thu, 26 Apr 2012 12:04:37 +0000 (15:04 +0300)
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>
drivers/net/wireless/ath/ath6kl/cfg80211.c

index f4467733ff5b89854c60310959c05b5d060ef9f8..3404ef21195230170b648b9c8b948a16a9532921 100644 (file)
@@ -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;