wifi: ath12k: avoid call ath12k_dp_mon_parse_rx_dest_tlv() for WCN7850
authorKang Yang <kang.yang@oss.qualcomm.com>
Mon, 21 Apr 2025 02:34:33 +0000 (10:34 +0800)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Fri, 16 May 2025 19:38:54 +0000 (12:38 -0700)
WCN7850 doesn't have RX MON component. So it's monitor mode design is
quite different from AP based chips like QCN9274, which have RX MON
component.

ath12k_dp_mon_parse_rx_dest_tlv() is such a specific function for AP based
chips.

So don't call this function for WCN7850.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1

Signed-off-by: Kang Yang <kang.yang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250421023444.1778-3-kang.yang@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/dp_mon.c

index 7404d21eed3be144d5f104f3b1f1f6253b872287..351f52138d39bae2ae067d73366c1fff8412152c 100644 (file)
@@ -2368,7 +2368,7 @@ ath12k_dp_mon_parse_rx_dest(struct ath12k *ar, struct ath12k_mon_data *pmon,
 
                hal_status = ath12k_dp_mon_rx_parse_status_tlv(ar, pmon, tlv);
 
-               if (ar->monitor_started &&
+               if (ar->monitor_started && ar->ab->hw_params->rxdma1_enable &&
                    ath12k_dp_mon_parse_rx_dest_tlv(ar, pmon, hal_status, tlv->value))
                        return HAL_RX_MON_STATUS_PPDU_DONE;