From: Emmanuel Grumbach <[email protected]>

The spatial reuse 4 words fields are fetched from the HE-SIGA
by the firmware and propagated to the driver through the
Rx info. This is useful to populate the radiotap header.

We were looking at the wrong place in the firmware data and
got bogus values. Fix that.

Signed-off-by: Emmanuel Grumbach <[email protected]>
Fixes: bdf180c8d375 ("iwlwifi: mvm: change PHY data RX for HE radiotap")
Signed-off-by: Luca Coelho <[email protected]>
---
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 
b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
index b0a8d910c5c4..1e03acf30762 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
@@ -1074,16 +1074,16 @@ static void iwl_mvm_decode_he_phy_data(struct iwl_mvm 
*mvm,
                                         
IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE2_KNOWN |
                                         
IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE3_KNOWN |
                                         
IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE4_KNOWN);
-               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d0,
+               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2,
                                                            
IWL_RX_PHY_DATA2_HE_TB_EXT_SPTL_REUSE1),
                                              
IEEE80211_RADIOTAP_HE_DATA4_TB_SPTL_REUSE1);
-               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d0,
+               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2,
                                                            
IWL_RX_PHY_DATA2_HE_TB_EXT_SPTL_REUSE2),
                                              
IEEE80211_RADIOTAP_HE_DATA4_TB_SPTL_REUSE2);
-               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d0,
+               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2,
                                                            
IWL_RX_PHY_DATA2_HE_TB_EXT_SPTL_REUSE3),
                                              
IEEE80211_RADIOTAP_HE_DATA4_TB_SPTL_REUSE3);
-               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d0,
+               he->data4 |= le16_encode_bits(le32_get_bits(phy_data->d2,
                                                            
IWL_RX_PHY_DATA2_HE_TB_EXT_SPTL_REUSE4),
                                              
IEEE80211_RADIOTAP_HE_DATA4_TB_SPTL_REUSE4);
                /* fall through */
-- 
2.20.1

Reply via email to