From 029787f0824b86ad376a6625daebb238525bd430 Mon Sep 17 00:00:00 2001 From: Ajaykumar Hotchandani Date: Mon, 12 Dec 2011 13:57:36 +0530 Subject: [PATCH] --- yaml --- r: 276794 b: refs/heads/master c: b51306c63449d7f06ffa689036ba49eb46e898b5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/pci/hotplug/acpiphp_glue.c | 1 - trunk/drivers/pci/pci.c | 3 +++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index bafbe12c2503..55aa97722336 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 619a5182d1f38a3d629ee48e04fa182ef9170052 +refs/heads/master: b51306c63449d7f06ffa689036ba49eb46e898b5 diff --git a/trunk/drivers/pci/hotplug/acpiphp_glue.c b/trunk/drivers/pci/hotplug/acpiphp_glue.c index 68360d5b494a..9ddf69e3bbef 100644 --- a/trunk/drivers/pci/hotplug/acpiphp_glue.c +++ b/trunk/drivers/pci/hotplug/acpiphp_glue.c @@ -225,7 +225,6 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv) pdev = pci_get_slot(pbus, PCI_DEVFN(device, function)); if (pdev) { - pdev->current_state = PCI_D0; slot->flags |= (SLOT_ENABLED | SLOT_POWEREDON); pci_dev_put(pdev); } diff --git a/trunk/drivers/pci/pci.c b/trunk/drivers/pci/pci.c index 4788413f43d7..faccb8937706 100644 --- a/trunk/drivers/pci/pci.c +++ b/trunk/drivers/pci/pci.c @@ -664,6 +664,9 @@ static int pci_platform_power_transition(struct pci_dev *dev, pci_power_t state) error = platform_pci_set_power_state(dev, state); if (!error) pci_update_current_state(dev, state); + /* Fall back to PCI_D0 if native PM is not supported */ + if (!dev->pm_cap) + dev->current_state = PCI_D0; } else { error = -ENODEV; /* Fall back to PCI_D0 if native PM is not supported */