]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
iw: Fix EHT rates printing.
authorBen Greear <greearb@candelatech.com>
Tue, 16 May 2023 18:02:38 +0000 (11:02 -0700)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 24 Aug 2023 07:15:39 +0000 (09:15 +0200)
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@candelatech.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
util.c

diff --git a/util.c b/util.c
index dc091930be154d3160b50c4e2c0e55184747b995..d36dbdc7fabc65191d231f59f7f0a70b3e044b87 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1604,33 +1604,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))) {