Patch "wifi: rtw89: mcc: consider time limits not divisible by 1024" has been added to the 6.12-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: rtw89: mcc: consider time limits not divisible by 1024

to the 6.12-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-rtw89-mcc-consider-time-limits-not-divisible-by.patch
and it can be found in the queue-6.12 subdirectory.

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



commit 63202446a72d4c096e10a52c9cc9e4557ea373d5
Author: Zong-Zhe Yang <kevin_yang@xxxxxxxxxxx>
Date:   Fri Jan 3 15:44:12 2025 +0800

    wifi: rtw89: mcc: consider time limits not divisible by 1024
    
    [ Upstream commit 35642ba31dc4a1816a20191e90156a9e329beb10 ]
    
    For each MCC role, time limits, including max_tob_us, max_toa_us, and
    mac_dur_us, are calculated if there are NoA attributes. The relation
    between these time limits is "max_dur_us = max_tob_us + max_toa_us".
    Then, the unit is converted from us to TU. However, originally, each
    time limit was divided by 1024 independently. It missed to consider
    the cases that max_tob_us or max_toa_us is not divisible by 1024. It
    causes the result breaks "max_dur (TU) = max_tob (TU) + max_toa (TU)".
    Finally, when MCC calculates pattern parameters based on these kinds
    of time limits, it might not perform well.
    
    Fixes: b09df09b55fb ("wifi: rtw89: mcc: initialize start flow")
    Signed-off-by: Zong-Zhe Yang <kevin_yang@xxxxxxxxxxx>
    Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx>
    Link: https://patch.msgid.link/20250103074412.124066-1-pkshih@xxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/realtek/rtw89/chan.c b/drivers/net/wireless/realtek/rtw89/chan.c
index c06d305519df4..4df4e04c3e67d 100644
--- a/drivers/net/wireless/realtek/rtw89/chan.c
+++ b/drivers/net/wireless/realtek/rtw89/chan.c
@@ -802,7 +802,7 @@ static void rtw89_mcc_fill_role_limit(struct rtw89_dev *rtwdev,
 
 	mcc_role->limit.max_toa = max_toa_us / 1024;
 	mcc_role->limit.max_tob = max_tob_us / 1024;
-	mcc_role->limit.max_dur = max_dur_us / 1024;
+	mcc_role->limit.max_dur = mcc_role->limit.max_toa + mcc_role->limit.max_tob;
 	mcc_role->limit.enable = true;
 
 	rtw89_debug(rtwdev, RTW89_DBG_CHAN,




[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