]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mac80211: fix bad guard when reporting legacy rates
authorJohn Crispin <john@phrozen.org>
Wed, 7 Aug 2019 07:59:47 +0000 (09:59 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 21 Aug 2019 08:32:57 +0000 (10:32 +0200)
When reporting legacy rates inside the TX Radiotap header we need to split
the check between "uses tx_statua_ext" and "is legacy rate". Not doing so
would make the code drop into the !tx_status_ext path.

Fixes: 3d07ffcaf320 ("mac80211: add struct ieee80211_tx_status support to ieee80211_add_tx_radiotap_header")
Signed-off-by: John Crispin <john@phrozen.org>
Link: https://lore.kernel.org/r/20190807075949.32414-2-john@phrozen.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/status.c

index f984943cdabd0f1e2dc74f55ada3763d91b622ea..4eac88fd29032bb6bad6d26af048c1232efe87ae 100644 (file)
@@ -327,13 +327,13 @@ ieee80211_add_tx_radiotap_header(struct ieee80211_local *local,
 
        /* IEEE80211_RADIOTAP_RATE */
 
-       if (status && status->rate && !(status->rate->flags &
-                                       (RATE_INFO_FLAGS_MCS |
-                                        RATE_INFO_FLAGS_60G |
-                                        RATE_INFO_FLAGS_VHT_MCS |
-                                        RATE_INFO_FLAGS_HE_MCS)))
-               legacy_rate = status->rate->legacy;
-       else if (info->status.rates[0].idx >= 0 &&
+       if (status && status->rate) {
+               if (!(status->rate->flags & (RATE_INFO_FLAGS_MCS |
+                                            RATE_INFO_FLAGS_60G |
+                                            RATE_INFO_FLAGS_VHT_MCS |
+                                            RATE_INFO_FLAGS_HE_MCS)))
+                       legacy_rate = status->rate->legacy;
+       else if (info->status.rates[0].idx >= 0 &&
                 !(info->status.rates[0].flags & (IEEE80211_TX_RC_MCS |
                                                  IEEE80211_TX_RC_VHT_MCS)))
                legacy_rate =