qcacmn: Fix legacy rate and group id in rx_status

In radiotap section of sniffer, fix group id field for vht
and rate field for legacy.

Change-Id: I3c1e2e650548551230d9eca5bc043b690169e844
CRs-fixed: 2143521
This commit is contained in:
sumedh baikady 2017-12-19 10:44:17 -08:00 • committed by snandini
commit 2a19fe4317
2 changed files with 22 additions and 20 deletions

View file

@ -86,22 +86,25 @@
#define HAL_RX_RECEPTION_TYPE_OFDMA 2
#define HAL_RX_RECEPTION_TYPE_MU_OFDMA 3
#define HAL_11B_RATE_0MCS 11
#define HAL_11B_RATE_1MCS 5.5
#define HAL_11B_RATE_2MCS 2
#define HAL_11B_RATE_3MCS 1
#define HAL_11B_RATE_4MCS 11
#define HAL_11B_RATE_5MCS 5.5
#define HAL_11B_RATE_6MCS 2
/* Multiply rate by 2 to avoid float point
* and get rate in units of 500kbps
*/
#define HAL_11B_RATE_0MCS 11*2
#define HAL_11B_RATE_1MCS 5.5*2
#define HAL_11B_RATE_2MCS 2*2
#define HAL_11B_RATE_3MCS 1*2
#define HAL_11B_RATE_4MCS 11*2
#define HAL_11B_RATE_5MCS 5.5*2
#define HAL_11B_RATE_6MCS 2*2
#define HAL_11A_RATE_0MCS 48
#define HAL_11A_RATE_1MCS 24
#define HAL_11A_RATE_2MCS 12
#define HAL_11A_RATE_3MCS 6
#define HAL_11A_RATE_4MCS 54
#define HAL_11A_RATE_5MCS 36
#define HAL_11A_RATE_6MCS 18
#define HAL_11A_RATE_7MCS 9
#define HAL_11A_RATE_0MCS 48*2
#define HAL_11A_RATE_1MCS 24*2
#define HAL_11A_RATE_2MCS 12*2
#define HAL_11A_RATE_3MCS 6*2
#define HAL_11A_RATE_4MCS 54*2
#define HAL_11A_RATE_5MCS 36*2
#define HAL_11A_RATE_6MCS 18*2
#define HAL_11A_RATE_7MCS 9*2
#define HE_GI_0_8 0
#define HE_GI_1_6 1

View file

@ -66,8 +66,6 @@
#define qdf_nbuf_users_read refcount_read
#endif /* KERNEL_VERSION(4, 13, 0) */
#define RATE_MULTIPLIER 2
#define IEEE80211_RADIOTAP_VHT_BW_20 0
#define IEEE80211_RADIOTAP_VHT_BW_40 1
#define IEEE80211_RADIOTAP_VHT_BW_80 2
@ -2992,7 +2990,8 @@ static unsigned int qdf_nbuf_update_radiotap_vht_flags(
IEEE80211_RADIOTAP_VHT_KNOWN_GI |
IEEE80211_RADIOTAP_VHT_KNOWN_LDPC_EXTRA_OFDM_SYM |
IEEE80211_RADIOTAP_VHT_KNOWN_BEAMFORMED |
IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;
IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH |
IEEE80211_RADIOTAP_VHT_KNOWN_GROUP_ID;
put_unaligned_le16(vht_flags, &rtap_buf[rtap_len]);
rtap_len += 2;
@ -3225,7 +3224,7 @@ unsigned int qdf_nbuf_update_radiotap(struct mon_rx_status *rx_status,
if (!rx_status->ht_flags && !rx_status->vht_flags &&
!rx_status->he_flags) {
rthdr->it_present |= cpu_to_le32(1 << IEEE80211_RADIOTAP_RATE);
rtap_buf[rtap_len] = rx_status->rate * RATE_MULTIPLIER;
rtap_buf[rtap_len] = rx_status->rate;
} else
rtap_buf[rtap_len] = 0;
rtap_len += 1;