Search Linux Wireless

[PATCH] iw: Fix EHT rates printing.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ben Greear <greearb@xxxxxxxxxxxxxxx>

The 20Mhz rates thing is a union with the others, so print one or
the other.  This appears to fix the output of the mcs/bw printout.

Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
---
 util.c | 46 +++++++++++++++++++++-------------------------
 1 file changed, 21 insertions(+), 25 deletions(-)

diff --git a/util.c b/util.c
index 31b0308..75f415e 100644
--- a/util.c
+++ b/util.c
@@ -1541,33 +1541,29 @@ static void __print_eht_capa(int band,
 			printf("%s\t\tEHT bw=20 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
 			       pre, mcs[i],
 			       mcs_set[i] & 0xf, mcs_set[i] >> 4);
-	}
-
-	mcs_set += 4;
-	if (he_phy_cap[0] & (BIT(2) << 8)) {
-		for (i = 0; i < 3; i++)
-			printf("%s\t\tEHT bw <= 80 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
-			       pre, mcs[i + 1],
-			       mcs_set[i] & 0xf, mcs_set[i] >> 4);
-
-	}
-
-	mcs_set += 3;
-	if (he_phy_cap[0] & (BIT(3) << 8)) {
-		for (i = 0; i < 3; i++)
-			printf("%s\t\tEHT bw=160 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
-			       pre, mcs[i + 1],
-			       mcs_set[i] & 0xf, mcs_set[i] >> 4);
-
-	}
+	} else {
+		if (he_phy_cap[0] & (BIT(2) << 8)) {
+			for (i = 0; i < 3; i++)
+				printf("%s\t\tEHT bw <= 80 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
+				       pre, mcs[i + 1],
+				       mcs_set[i] & 0xf, mcs_set[i] >> 4);
+		}
+		mcs_set += 3;
 
-	mcs_set += 3;
-	if (band == NL80211_BAND_6GHZ && (phy_cap[0] & BIT(1))) {
-		for (i = 0; i < 3; i++)
-			printf("%s\t\tEHT bw=320 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
-			       pre, mcs[i + 1],
-			       mcs_set[i] & 0xf, mcs_set[i] >> 4);
+		if (he_phy_cap[0] & (BIT(3) << 8)) {
+			for (i = 0; i < 3; i++)
+				printf("%s\t\tEHT bw=160 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
+				       pre, mcs[i + 1],
+				       mcs_set[i] & 0xf, mcs_set[i] >> 4);
+		}
 
+		mcs_set += 3;
+		if (band == NL80211_BAND_6GHZ && (phy_cap[0] & BIT(1))) {
+			for (i = 0; i < 3; i++)
+				printf("%s\t\tEHT bw=320 MHz, max NSS for MCS %s: Rx=%u, Tx=%u\n",
+				       pre, mcs[i + 1],
+				       mcs_set[i] & 0xf, mcs_set[i] >> 4);
+		}
 	}
 
 	if (ppet && ppet_len && (phy_cap[1] & BIT(11))) {
-- 
2.40.0




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux