From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from alexa-out.qualcomm.com ([129.46.98.28]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1e5Qjp-0007vl-Fm for ath10k@lists.infradead.org; Fri, 20 Oct 2017 06:24:59 +0000 From: Kalle Valo Subject: Re: ath10k: fix core PCI suspend when WoWLAN is supported but disabled Date: Fri, 20 Oct 2017 06:24:31 +0000 Message-ID: <87infafiao.fsf@kamboji.qca.qualcomm.com> References: <20170919232416.108247-1-briannorris@chromium.org> <2809b2cf512d4c198d3cef3f5e468c3c@euamsexm01e.eu.qualcomm.com> <87vajbgqcz.fsf@kamboji.qca.qualcomm.com> <20171019171224.GA46096@google.com> In-Reply-To: <20171019171224.GA46096@google.com> (Brian Norris's message of "Thu, 19 Oct 2017 10:12:25 -0700") Content-Language: en-US MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "ath10k" Errors-To: ath10k-bounces+kvalo=adurom.com@lists.infradead.org To: Brian Norris Cc: Ryan Hsu , Arnd Bergmann , Grant Grundler , "linux-wireless@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "ath10k@lists.infradead.org" Brian Norris writes: > + Arnd > > On Thu, Oct 19, 2017 at 02:32:45PM +0000, Kalle Valo wrote: >> Kalle Valo writes: >> >> > Brian Norris 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 >> >> Cc: Ryan Hsu >> >> Cc: Kalle Valo >> >> Cc: Michal Kazior >> >> Signed-off-by: Kalle Valo >> > >> > Patch applied to ath-next branch of ath.git, thanks. >> > >> > 96378bd2c6cd ath10k: fix core PCI suspend when WoWLAN is supported but disabled >> >> Kbuild found a build problem, I suspect it's caused by this patch: > > Actually, it's the interaction of this patch and Arnd's patch: > > 6af1de2e4ec4 ath10k: mark PM functions as __maybe_unused > > I see that's now in these branches: > > ath/ath-current > ath/ath-qca > ath/master > ath/master-pending > wireless-drivers-next/master > wireless-drivers-next/pending > > Whereas mine got applied to: > > ath/ath-next > > So technically, the problem is in your merge here :) > > 096ad2a15fd8 Merge branch 'ath-next' Ah, that's why kbuild bot didn't report about this problem while your patch was in my pending branch. And I was also really puzzled why it claimed that my merge was at fault :) Thanks for the good explanation. Just to clarify: ath-current is for patches going to 4.14 and ath-next to 4.15, that's why they were applied to a different branch. >> drivers/net/wireless/ath/ath10k/pci.c:3416:8: error: implicit >> declaration of function 'ath10k_pci_suspend' >> [-Werror=implicit-function-declaration] >> >> drivers/net/wireless/ath/ath10k/pci.c:3428:8: error: implicit >> declaration of function 'ath10k_pci_resume' >> [-Werror=implicit-function-declaration] >> >> http://lists.infradead.org/pipermail/ath10k/2017-October/010269.html >> >> The .config.gz there doesn't have CONFIG_PM set, maybe that's the >> problem? > > Yes, indirectly that's also the problem. > > The solution would seem to be either to kill the #ifdefs around > ath10k_pci_{suspend,resume}() and friends (and use __maybe_unused > instead, to further extend Arnd's patch), or else revert Arnd's stuff > and go with CONFIG_PM_SLEEP everywhere, which would resolve the original > warning (promoted to error) that Arnd was resolving. > > I can send out one of these if you'd like. I see that you already sent the patch, thanks! -- Kalle Valo _______________________________________________ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k