Re: [PATCH] PCI / PCIe: Clear Root PME Status bits early duringsystem resume

From: Jesse Barnes
Date: Thu Dec 23 2010 - 15:54:45 EST


On Sun, 19 Dec 2010 15:57:16 +0100
"Rafael J. Wysocki" <rjw@xxxxxxx> wrote:

> From: Rafael J. Wysocki <rjw@xxxxxxx>
>
> I noticed that PCI Express PMEs don't work on my Toshiba Portege R500
> after the system has been woken up from a sleep state by a PME
> (through Wake-on-LAN). After some investigation it turned out that
> the BIOS didn't clear the Root PME Status bit in the root port that
> received the wakeup PME and since the Requester ID was also set in
> the port's Root Status register, any subsequent PMEs didn't trigger
> interrupts.
>
> This problem can be avoided by clearing the Root PME Status bits in
> all PCI Express root ports during early resume. For this purpose,
> add an early resume routine to the PCIe port driver and make this
> driver be always registered, even if pci_ports_disable is set (in
> which case the driver's only function is to provide the early
> resume callback).
>
> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> ---
>

Applied to my linux-next branch, thanks.

--
Jesse Barnes, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/