mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	Update backports to the latest 6.6 point release. Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 77f1ee6fd8b6e470f721d05a2e269039d5cafcb7 Mon Sep 17 00:00:00 2001
 | |
| From: Aditya Kumar Singh <quic_adisi@quicinc.com>
 | |
| Date: Tue, 3 Oct 2023 17:26:54 +0300
 | |
| Subject: [PATCH] wifi: ath11k: fix Tx power value during active CAC
 | |
| 
 | |
| Tx power is fetched from firmware's pdev stats. However, during active
 | |
| CAC, firmware does not fill the current Tx power and sends the max
 | |
| initialised value filled during firmware init. If host sends this power
 | |
| to user space, this is wrong since in certain situations, the Tx power
 | |
| could be greater than the max allowed by the regulatory. Hence, host
 | |
| should not be fetching the Tx power during an active CAC.
 | |
| 
 | |
| Fix this issue by returning -EAGAIN error so that user space knows that there's
 | |
| no valid value available.
 | |
| 
 | |
| Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
 | |
| 
 | |
| Fixes: 9a2aa68afe3d ("wifi: ath11k: add get_txpower mac ops")
 | |
| Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
 | |
| Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
 | |
| Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
 | |
| Link: https://lore.kernel.org/r/20230912051857.2284-4-quic_adisi@quicinc.com
 | |
| ---
 | |
|  drivers/net/wireless/ath/ath11k/mac.c | 8 ++++++++
 | |
|  1 file changed, 8 insertions(+)
 | |
| 
 | |
| --- a/drivers/net/wireless/ath/ath11k/mac.c
 | |
| +++ b/drivers/net/wireless/ath/ath11k/mac.c
 | |
| @@ -9068,6 +9068,14 @@ static int ath11k_mac_op_get_txpower(str
 | |
|  		return -EAGAIN;
 | |
|  	}
 | |
|  
 | |
| +	/* Firmware doesn't provide Tx power during CAC hence no need to fetch
 | |
| +	 * the stats.
 | |
| +	 */
 | |
| +	if (test_bit(ATH11K_CAC_RUNNING, &ar->dev_flags)) {
 | |
| +		mutex_unlock(&ar->conf_mutex);
 | |
| +		return -EAGAIN;
 | |
| +	}
 | |
| +
 | |
|  	req_param.pdev_id = ar->pdev->pdev_id;
 | |
|  	req_param.stats_id = WMI_REQUEST_PDEV_STAT;
 | |
|  
 |