Message ID | 20231118134538.19545-1-quic_lingbok@quicinc.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | wifi: ath12k: fix the issue that the multicast/broadcast indicator is not read correctly for WCN7850 | expand |
On 11/18/2023 5:45 AM, Lingbo Kong wrote: > We observe some packets are discarded in ieee80211_rx_handlers_result > function for WCN7850. This is because the way to get multicast/broadcast > indicator with RX_MSDU_END_INFO5_DA_IS_MCBC & info5 is incorrect. It should > use RX_MSDU_END_INFO13_MCAST_BCAST & info13 to get multicast/broadcast > indicator. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 > > Signed-off-by: Lingbo Kong <quic_lingbok@quicinc.com> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Lingbo Kong <quic_lingbok@quicinc.com> wrote: > We observe some packets are discarded in ieee80211_rx_handlers_result > function for WCN7850. This is because the way to get multicast/broadcast > indicator with RX_MSDU_END_INFO5_DA_IS_MCBC & info5 is incorrect. It should > use RX_MSDU_END_INFO13_MCAST_BCAST & info13 to get multicast/broadcast > indicator. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 > > Signed-off-by: Lingbo Kong <quic_lingbok@quicinc.com> > Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> ALWAYS run ath12k-check: drivers/net/wireless/ath/ath12k/hal.c:892:16: warning: cast to restricted __le16 drivers/net/wireless/ath/ath12k/hal.c:892:16: warning: cast from restricted __le32 Patch set to Changes Requested.
diff --git a/drivers/net/wireless/ath/ath12k/hal.c b/drivers/net/wireless/ath/ath12k/hal.c index eca86fc25a60..4966887e312b 100644 --- a/drivers/net/wireless/ath/ath12k/hal.c +++ b/drivers/net/wireless/ath/ath12k/hal.c @@ -889,8 +889,8 @@ static u8 *ath12k_hw_wcn7850_rx_desc_mpdu_start_addr2(struct hal_rx_desc *desc) static bool ath12k_hw_wcn7850_rx_desc_is_da_mcbc(struct hal_rx_desc *desc) { - return __le16_to_cpu(desc->u.wcn7850.msdu_end.info5) & - RX_MSDU_END_INFO5_DA_IS_MCBC; + return __le16_to_cpu(desc->u.wcn7850.msdu_end.info13) & + RX_MSDU_END_INFO13_MCAST_BCAST; } static void ath12k_hw_wcn7850_rx_desc_get_dot11_hdr(struct hal_rx_desc *desc,
We observe some packets are discarded in ieee80211_rx_handlers_result function for WCN7850. This is because the way to get multicast/broadcast indicator with RX_MSDU_END_INFO5_DA_IS_MCBC & info5 is incorrect. It should use RX_MSDU_END_INFO13_MCAST_BCAST & info13 to get multicast/broadcast indicator. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Signed-off-by: Lingbo Kong <quic_lingbok@quicinc.com> --- drivers/net/wireless/ath/ath12k/hal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) base-commit: 23c5ea6737e45d5a6342c21884400e7697d7c342