]> www.infradead.org Git - users/jedix/linux-maple.git/commit
wifi: rtw89: mcc: avoid that loose pattern sets negative timing for auxiliary GO
authorZong-Zhe Yang <kevin_yang@realtek.com>
Tue, 22 Apr 2025 01:46:20 +0000 (09:46 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Mon, 28 Apr 2025 06:40:34 +0000 (14:40 +0800)
commit6644a416727c0a92c72d02eacad7f653d7291e9a
tree1a7f701fcb7c0719f98993fb7aae56756efa0005
parent1cc8a27bf621877bf829ade6543b8b73c93b726a
wifi: rtw89: mcc: avoid that loose pattern sets negative timing for auxiliary GO

A MCC (multi-channel concurrency) schedule is like the following.

   |<                mcc interval                 >|
   |<    duration ref     >|<    duration aux     >|
   |< tob ref >|< toa ref >|< tob aux >|< toa aux >|
               V                       V
           tbtt ref                tbtt aux
               |<    beacon offset    >|

Original logic might unexpectedly calculate toa (time offset ahead) of
auxiliary role to be negative even when there is no role timing limit.
If toa-aux is negative, TBTT-aux would in logic fall into duration-ref.
Then, if auxiliary role is GO unfortunately, it cannot guarantee that
beacons will TX well. So now, when deciding the lower bound of toa-ref,
take toa-aux into account. Make toa-aux at least be zero in normal cases.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250422014620.18421-13-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/chan.c