Patch "wifi: ath11k: fix Tx power value during active CAC" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    wifi: ath11k: fix Tx power value during active CAC

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     wifi-ath11k-fix-tx-power-value-during-active-cac.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 10288794a6a7904287354a906b12f6189b2a5863
Author: Aditya Kumar Singh <quic_adisi@xxxxxxxxxxx>
Date:   Tue Oct 3 17:26:54 2023 +0300

    wifi: ath11k: fix Tx power value during active CAC
    
    [ Upstream commit 77f1ee6fd8b6e470f721d05a2e269039d5cafcb7 ]
    
    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@xxxxxxxxxxx>
    Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>
    Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230912051857.2284-4-quic_adisi@xxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index c071bf5841af6..b328a0599818b 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -9042,6 +9042,14 @@ static int ath11k_mac_op_get_txpower(struct ieee80211_hw *hw,
 	if (ar->state != ATH11K_STATE_ON)
 		goto err_fallback;
 
+	/* 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;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux