Brian Norris <briannorris@xxxxxxxxxxxx> wrote: > For devices where the FW supports WoWLAN but user-space has not > configured it, we don't do any PCI-specific suspend/resume operations, > because mac80211 doesn't call drv_suspend() when !wowlan. This has > particularly bad effects for some platforms, because we don't stop the > power-save timer, and if this timer goes off after the PCI controller > has suspended the link, Bad Things will happen. > > Commit 32faa3f0ee50 ("ath10k: add the PCI PM core suspend/resume ops") > got some of this right, in that it understood there was a problem on > non-WoWLAN firmware. But it forgot the $subject case. > > Fix this by moving all the PCI driver suspend/resume logic exclusively > into the driver PM hooks. This shouldn't affect WoWLAN support much > (this just gets executed later on). > > I would just as well kill the entirety of ath10k_hif_suspend(), as it's > not even implemented on the USB or SDIO drivers. I expect that we don't > need the callback, except to return "supported" (i.e., 0) or "not > supported" (i.e., -EOPNOTSUPP). > > Fixes: 32faa3f0ee50 ("ath10k: add the PCI PM core suspend/resume ops") > Fixes: 77258d409ce4 ("ath10k: enable pci soc powersaving") > Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> > Cc: Ryan Hsu <ryanhsu@xxxxxxxxxxxxxxxx> > Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> > Cc: Michal Kazior <michal.kazior@xxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. 96378bd2c6cd ath10k: fix core PCI suspend when WoWLAN is supported but disabled -- https://patchwork.kernel.org/patch/9960481/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches