linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] ath10k: Use complete VHT chan width for 160MHz workaround
@ 2017-06-09 11:07 Sven Eckelmann
  2017-06-09 11:07 ` [PATCH v2 2/3] ath10k: Configure rxnss_override for 10.4 firmware Sven Eckelmann
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Sven Eckelmann @ 2017-06-09 11:07 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Ben Greear, Sven Eckelmann

From: Ben Greear <greearb@candelatech.com>

The ath10k firmware doesn't announce its VHT channel width capabilities in
the vht_cap information from the "service ready event" arguments. The
driver must therefore check whether the 160MHz short GI bit is set and
whether the driver still doesn't set the bits for the 160/80+80 MHz
capabilities.

The two bits for the channel width are a two bit integer and not two
separate bits which cannot be parsed without the knowledge of the other
bit. Using IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ (b10..) as a
mask for this task doesn't make any sense. The correct mask for the VHT
channel width should be used instead to make this check more readable.

Signed-off-by: Ben Greear <greearb@candelatech.com>
[sven.eckelmann@openmesh.com: separate 160Mhz workaround cleanup, add commit
 message]
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
---
v2:
 - extracted this cleanup portion and converted it to a separate patch

 drivers/net/wireless/ath/ath10k/mac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 4674ff33d320..8087b6be5484 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -4391,7 +4391,7 @@ static struct ieee80211_sta_vht_cap ath10k_create_vht_cap(struct ath10k *ar)
 	 * mode until that's resolved.
 	 */
 	if ((ar->vht_cap_info & IEEE80211_VHT_CAP_SHORT_GI_160) &&
-	    !(ar->vht_cap_info & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ))
+	    (ar->vht_cap_info & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) == 0)
 		vht_cap.cap |= IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
 
 	mcs_map = 0;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-06-21 13:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-09 11:07 [PATCH v2 1/3] ath10k: Use complete VHT chan width for 160MHz workaround Sven Eckelmann
2017-06-09 11:07 ` [PATCH v2 2/3] ath10k: Configure rxnss_override for 10.4 firmware Sven Eckelmann
2017-06-12 14:47   ` [v2,2/3] " Kalle Valo
2017-06-16  8:50   ` [PATCH v2 2/3] " Kalle Valo
2017-06-19  7:28     ` Sven Eckelmann
2017-06-09 11:07 ` [PATCH v2 3/3] ath10k: Set rxnss_override for QCA9888 Sven Eckelmann
2017-06-12 14:51   ` [v2,3/3] " Kalle Valo
2017-06-09 13:50 ` [PATCH v2 1/3] ath10k: Use complete VHT chan width for 160MHz workaround Ben Greear
2017-06-09 14:09   ` Sebastian Gottschall
2017-06-21 13:18 ` [v2, " Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).