[PATCH ath-next 1/2] wifi: ath12k: using msdu end descriptor to check for rx multicast packets

Sarika Sharma quic_sarishar at quicinc.com
Thu Apr 10 22:52:59 PDT 2025


On 4/9/2025 12:16 PM, Vasanthakumar Thiagarajan wrote:
> 
> 
> On 4/8/2025 6:31 PM, Sarika Sharma wrote:
>> Currently, the RX multicast broadcast packet check is performed using
>> bit 15 from the info6 field of the MPDU start descriptor. This check
>> can also be done using bit 9 from the info5 field of the MSDU end
>> descriptor. However, in some scenarios multicast bit is not set when
>> fetched from MPDU start descriptor.
>> Therefore, checking the RX multicast broadcast packet from the MSDU
>> end descriptor is more reliable as it is per MSDU.
>>
>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
>>
>> Signed-off-by: Sarika Sharma <quic_sarishar at quicinc.com>
>> ---
>>   drivers/net/wireless/ath/ath12k/hal.c | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath12k/hal.c b/drivers/net/ 
>> wireless/ath/ath12k/hal.c
>> index d00869a33fea..d961392bb981 100644
>> --- a/drivers/net/wireless/ath/ath12k/hal.c
>> +++ b/drivers/net/wireless/ath/ath12k/hal.c
>> @@ -449,8 +449,8 @@ static u8 
>> *ath12k_hw_qcn9274_rx_desc_mpdu_start_addr2(struct hal_rx_desc *desc)
>>   static bool ath12k_hw_qcn9274_rx_desc_is_da_mcbc(struct hal_rx_desc 
>> *desc)
>>   {
>> -    return __le32_to_cpu(desc->u.qcn9274.mpdu_start.info6) &
>> -           RX_MPDU_START_INFO6_MCAST_BCAST;
>> +    return __le16_to_cpu(desc->u.qcn9274.msdu_end.info5) &
>> +           RX_MSDU_END_INFO5_DA_IS_MCBC;
>>   }
>>   static void ath12k_hw_qcn9274_rx_desc_get_dot11_hdr(struct 
>> hal_rx_desc *desc,
>> @@ -902,8 +902,8 @@ static u8 
>> *ath12k_hw_qcn9274_compact_rx_desc_mpdu_start_addr2(struct hal_rx_desc
>>   static bool ath12k_hw_qcn9274_compact_rx_desc_is_da_mcbc(struct 
>> hal_rx_desc *desc)
>>   {
>> -    return __le32_to_cpu(desc->u.qcn9274_compact.mpdu_start.info6) &
>> -           RX_MPDU_START_INFO6_MCAST_BCAST;
>> +    return __le32_to_cpu(desc->u.qcn9274_compact.msdu_end.info5) &
>> +           RX_MSDU_END_INFO5_DA_IS_MCBC;
> 
> hal.c:905:16: warning: cast to restricted __le32
> hal.c:905:16: warning: cast from restricted __le16
> 
> Pls address the above warning.

Sure, let me correct it and send new version.

> 
> Vasanth





More information about the ath12k mailing list