mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 00:51:44 +00:00
wifi: rtw88: add flag check before enter or leave IPS
Enter or leave IPS controlled by mac80211 before driver support HW scan. After support HW scan, driver need to control IPS before start HW scan and scan complete, but mac80211 also ask driver enter or leave IPS. Therefore, we add flag check in IPS to prevent entering or leaving IPS twice. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220809084107.38137-7-pkshih@realtek.com
This commit is contained in:
parent
d08458b57a
commit
6bf3a08340
@ -19,14 +19,14 @@ static int rtw_ips_pwr_up(struct rtw_dev *rtwdev)
|
||||
rtw_err(rtwdev, "leave idle state failed\n");
|
||||
|
||||
rtw_set_channel(rtwdev);
|
||||
clear_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int rtw_enter_ips(struct rtw_dev *rtwdev)
|
||||
{
|
||||
set_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags);
|
||||
if (test_and_set_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags))
|
||||
return 0;
|
||||
|
||||
rtw_coex_ips_notify(rtwdev, COEX_IPS_ENTER);
|
||||
|
||||
@ -50,6 +50,9 @@ int rtw_leave_ips(struct rtw_dev *rtwdev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!test_and_clear_bit(RTW_FLAG_INACTIVE_PS, rtwdev->flags))
|
||||
return 0;
|
||||
|
||||
rtw_hci_link_ps(rtwdev, false);
|
||||
|
||||
ret = rtw_ips_pwr_up(rtwdev);
|
||||
|
Loading…
Reference in New Issue
Block a user