]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mac80211: add STBC encoding to ieee80211_parse_tx_radiotap
authorPhilipp Borgers <borgers@mi.fu-berlin.de>
Mon, 25 Jan 2021 15:07:44 +0000 (16:07 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 12 Feb 2021 08:04:22 +0000 (09:04 +0100)
This patch adds support for STBC encoding to the radiotap tx parse
function. Prior to this change adding the STBC flag to the radiotap
header did not encode frames with STBC.

Signed-off-by: Philipp Borgers <borgers@mi.fu-berlin.de>
Link: https://lore.kernel.org/r/20210125150744.83065-1-borgers@mi.fu-berlin.de
[use u8_get_bits/u32_encode_bits instead of manually shifting]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/tx.c

index 6ec415f043e11eb4dfc588c1a6f3711949579a5c..5d06de61047a6e80f27fa581f434dc6d10aac7a0 100644 (file)
@@ -2122,6 +2122,15 @@ bool ieee80211_parse_tx_radiotap(struct sk_buff *skb,
                        if (mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_FEC &&
                            mcs_flags & IEEE80211_RADIOTAP_MCS_FEC_LDPC)
                                info->flags |= IEEE80211_TX_CTL_LDPC;
+
+                       if (mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_STBC) {
+                               u8 stbc = u8_get_bits(mcs_flags,
+                                                     IEEE80211_RADIOTAP_MCS_STBC_MASK);
+
+                               info->flags |=
+                                       u32_encode_bits(stbc,
+                                                       IEEE80211_TX_CTL_STBC);
+                       }
                        break;
 
                case IEEE80211_RADIOTAP_VHT: