RE: Issue with commit de3ef1eb1cd - PM / core: Drop run_wake flag from struct dev_pm_info [Was: MEI-related WARN_ON() triggered during resume-from-sleep on v4.13-rc2+]

From: Winkler, Tomas
Date: Tue Aug 01 2017 - 09:58:16 EST

> Hi,
> On Tue, Aug 1, 2017 at 7:25 AM, Usyskin, Alexander
> <alexander.usyskin@xxxxxxxxx> wrote:
> > Hi
> >
> > We using pci_dev_run_wake that changed in mentioned patch to decide if
> > to replace usual PM callbacks with domain ones.
> > IIRC, the mei device is not remote wakeable on that platform, so we
> > should set domain callbacks.
> > There was a patch in PM framework that squashes runtime suspend with
> > usual suspend for some devices.
> > May it be that now pci_dev_run_wake returns true form mei and we are
> > not setting domain callbacks?
> > In that case we going through PCI device level PM path and may trigger
> that squash.
> > That will explain lack of mei logs on suspend.
> >
> > Dominik, can you try comment out "if (!pci_dev_run_wake(pdev))"
> > at drivers/misc/mei/pci-me.c (around line 223) to set domain callbacks
> > by force to see if this is indeed the case?
> Why exactly do you need the pci_dev_run_wake(pdev) check?

We need to re-review this code now, but as far as I remember.
On some platforms with NFC connected via MEI, there was no PME enabled, hence we needed to keep in band irq opened for rx to wake us up.