Patch "wifi: ath11k: restore country code during resume" has been added to the 6.10-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: restore country code during resume

to the 6.10-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-restore-country-code-during-resume.patch
and it can be found in the queue-6.10 subdirectory.

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



commit ac1d89ff8cef7152d24afad3291483b716d415cc
Author: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>
Date:   Tue May 21 11:08:11 2024 +0300

    wifi: ath11k: restore country code during resume
    
    [ Upstream commit 7f0343b7b8710436c1e6355c71782d32ada47e0c ]
    
    We got report that regdomain is not correct after
    return from hibernation:
    
    Before hibernation:
    % iw reg get
    [...]
    phy#0 (self-managed)
    country CH: DFS-ETSI
            (2402 - 2482 @ 40), (N/A, 20), (N/A)
            (5170 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
            (5250 - 5330 @ 80), (N/A, 23), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
            (5490 - 5590 @ 80), (N/A, 30), (0 ms), DFS, AUTO-BW
            (5590 - 5650 @ 40), (N/A, 30), (600000 ms), DFS, AUTO-BW
            (5650 - 5730 @ 80), (N/A, 30), (0 ms), DFS, AUTO-BW
            (5735 - 5875 @ 80), (N/A, 14), (N/A), AUTO-BW
    
    After hibernation:
    % iw reg get
    [...]
    phy#0 (self-managed)
    country na: DFS-UNSET
            (2402 - 2472 @ 40), (N/A, 20), (N/A)
            (2457 - 2482 @ 20), (N/A, 20), (N/A), PASSIVE-SCAN
            (5170 - 5330 @ 160), (N/A, 20), (N/A), AUTO-BW, PASSIVE-SCAN
            (5490 - 5730 @ 160), (N/A, 20), (N/A), AUTO-BW, PASSIVE-SCAN
            (5735 - 5895 @ 160), (N/A, 20), (N/A), AUTO-BW, PASSIVE-SCAN
            (5945 - 7125 @ 160), (N/A, 30), (N/A), AUTO-BW, PASSIVE-SCAN
    
    The reason is, during resume, firmware is reinitialized but host does
    not send current country code to firmware. So default reg rules with
    country code set to 'na' is uploaded to host, as shown above.
    
    Fix it by restoring country code to firmware during resume.
    
    Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
    
    Fixes: 166a490f59ac ("wifi: ath11k: support hibernation")
    Signed-off-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>
    Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx>
    Link: https://msgid.link/20240520024148.5472-3-quic_bqiang@xxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c
index a14d0c65000ad..47554c3619633 100644
--- a/drivers/net/wireless/ath/ath11k/core.c
+++ b/drivers/net/wireless/ath/ath11k/core.c
@@ -1009,6 +1009,16 @@ int ath11k_core_resume(struct ath11k_base *ab)
 		return -ETIMEDOUT;
 	}
 
+	if (ab->hw_params.current_cc_support &&
+	    ar->alpha2[0] != 0 && ar->alpha2[1] != 0) {
+		ret = ath11k_reg_set_cc(ar);
+		if (ret) {
+			ath11k_warn(ab, "failed to set country code during resume: %d\n",
+				    ret);
+			return ret;
+		}
+	}
+
 	ret = ath11k_dp_rx_pktlog_start(ab);
 	if (ret)
 		ath11k_warn(ab, "failed to start rx pktlog during resume: %d\n",




[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