Index: linux.git/drivers/pci/pci.c =================================================================== --- linux.git.orig/drivers/pci/pci.c 2012-12-06 10:57:31.485231614 +0800 +++ linux.git/drivers/pci/pci.c 2012-12-06 10:57:31.541230913 +0800 @@ -1473,12 +1473,15 @@ dev->pme_poll = false; if (pci_check_pme_status(dev)) { + if (pme_poll_reset) + dev_info(&dev->dev, "pme wakeup\n"); + else + dev_info(&dev->dev, "poll wakeup\n"); pci_wakeup_event(dev); pm_request_resume(&dev->dev); } return 0; } - /** * pci_pme_wakeup_bus - Walk given bus and wake up devices on it, if necessary. * @bus: Top bus of the subtree to walk. Index: linux.git/drivers/pci/pci-acpi.c =================================================================== --- linux.git.orig/drivers/pci/pci-acpi.c 2012-12-06 10:57:31.485231614 +0800 +++ linux.git/drivers/pci/pci-acpi.c 2012-12-06 10:57:31.542230901 +0800 @@ -56,6 +56,7 @@ if (!pci_dev->pm_cap || !pci_dev->pme_support || pci_check_pme_status(pci_dev)) { + dev_info(&pci_dev->dev, "pme wakeup\n"); if (pci_dev->pme_poll) pci_dev->pme_poll = false; Index: linux.git/drivers/pci/pcie/pme.c =================================================================== --- linux.git.orig/drivers/pci/pcie/pme.c 2012-12-06 10:57:31.485231614 +0800 +++ linux.git/drivers/pci/pcie/pme.c 2012-12-06 10:57:31.542230901 +0800 @@ -79,6 +79,7 @@ list_for_each_entry(dev, &bus->devices, bus_list) { /* Skip PCIe devices in case we started from a root port. */ if (!pci_is_pcie(dev) && pci_check_pme_status(dev)) { + dev_info(&dev->dev, "pme wakeup\n"); if (dev->pme_poll) dev->pme_poll = false; @@ -144,6 +145,7 @@ port->pme_poll = false; if (pci_check_pme_status(port)) { + dev_info(&dev->dev, "pme wakeup\n"); pm_request_resume(&port->dev); found = true; } else { @@ -188,6 +190,7 @@ /* The device is there, but we have to check its PME status. */ found = pci_check_pme_status(dev); if (found) { + dev_info(&dev->dev, "pme wakeup\n"); if (dev->pme_poll) dev->pme_poll = false;