Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote: > Use power state to decide whether we can enter or leave IPS accurately, > and then prevent to power on/off twice. > > The commit 6bf3a083407b ("wifi: rtw88: add flag check before enter or leave IPS") > would like to prevent this as well, but it still can't entirely handle all > cases. The exception is that WiFi gets connected and does suspend/resume, > it will power on twice and cause it failed to power on after resuming, > like: > > rtw_8723de 0000:03:00.0: failed to poll offset=0x6 mask=0x2 value=0x2 > rtw_8723de 0000:03:00.0: mac power on failed > rtw_8723de 0000:03:00.0: failed to power on mac > rtw_8723de 0000:03:00.0: leave idle state failed > rtw_8723de 0000:03:00.0: failed to leave ips state > rtw_8723de 0000:03:00.0: failed to leave idle state > rtw_8723de 0000:03:00.0: failed to send h2c command > > To fix this, introduce new flag RTW_FLAG_POWERON to reflect power state, > and call rtw_mac_pre_system_cfg() to configure registers properly between > power-off/-on. > > Reported-by: Paul Gover <pmw.gover@xxxxxxxxxxx> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=217016 > Fixes: 6bf3a083407b ("wifi: rtw88: add flag check before enter or leave IPS") > Cc: <Stable@xxxxxxxxxxxxxxx> > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> Patch applied to wireless-next.git, thanks. 4a267bc5ea8f wifi: rtw88: use RTW_FLAG_POWERON flag to prevent to power on/off twice -- https://patchwork.kernel.org/project/linux-wireless/patch/20230216053633.20366-1-pkshih@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches