diff --git a/hal/wifi3.0/hal_api_mon.h b/hal/wifi3.0/hal_api_mon.h index d3c0ab140f48..cae56d343de3 100644 --- a/hal/wifi3.0/hal_api_mon.h +++ b/hal/wifi3.0/hal_api_mon.h @@ -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 diff --git a/qdf/linux/src/qdf_nbuf.c b/qdf/linux/src/qdf_nbuf.c index ba5278012e9c..dccd494f738a 100644 --- a/qdf/linux/src/qdf_nbuf.c +++ b/qdf/linux/src/qdf_nbuf.c @@ -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;