Loading drivers/pci/bus.c +2 −1 Original line number Diff line number Diff line Loading @@ -140,10 +140,11 @@ void __devinit pci_bus_add_devices(struct pci_bus *bus) void pci_enable_bridges(struct pci_bus *bus) { struct pci_dev *dev; int retval; list_for_each_entry(dev, &bus->devices, bus_list) { if (dev->subordinate) { pci_enable_device(dev); retval = pci_enable_device(dev); pci_set_master(dev); pci_enable_bridges(dev->subordinate); } Loading drivers/pci/pci-driver.c +4 −2 Original line number Diff line number Diff line Loading @@ -278,11 +278,13 @@ static int pci_device_suspend(struct device * dev, pm_message_t state) */ static void pci_default_resume(struct pci_dev *pci_dev) { int retval; /* restore the PCI config space */ pci_restore_state(pci_dev); /* if the device was enabled before suspend, reenable */ if (pci_dev->is_enabled) pci_enable_device(pci_dev); retval = pci_enable_device(pci_dev); /* if the device was busmaster before the suspend, make it busmaster again */ if (pci_dev->is_busmaster) pci_set_master(pci_dev); Loading drivers/pci/pci.c +5 −2 Original line number Diff line number Diff line Loading @@ -444,8 +444,11 @@ pci_enable_device_bars(struct pci_dev *dev, int bars) { int err; pci_set_power_state(dev, PCI_D0); if ((err = pcibios_enable_device(dev, bars)) < 0) err = pci_set_power_state(dev, PCI_D0); if (err) return err; err = pcibios_enable_device(dev, bars); if (err < 0) return err; return 0; } Loading drivers/pci/pcie/portdrv_pci.c +6 −2 Original line number Diff line number Diff line Loading @@ -90,15 +90,19 @@ static void pcie_portdrv_save_config(struct pci_dev *dev) pci_save_msi_state(dev); } static void pcie_portdrv_restore_config(struct pci_dev *dev) static int pcie_portdrv_restore_config(struct pci_dev *dev) { struct pcie_port_device_ext *p_ext = pci_get_drvdata(dev); int retval; pci_restore_state(dev); if (p_ext->interrupt_mode == PCIE_PORT_MSI_MODE) pci_restore_msi_state(dev); pci_enable_device(dev); retval = pci_enable_device(dev); if (retval) return retval; pci_set_master(dev); return 0; } /* Loading drivers/usb/core/hcd-pci.c +19 −5 Original line number Diff line number Diff line Loading @@ -260,8 +260,10 @@ int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t message) retval = pci_set_power_state (dev, PCI_D3hot); if (retval == 0) { dev_dbg (hcd->self.controller, "--> PCI D3\n"); pci_enable_wake (dev, PCI_D3hot, hcd->remote_wakeup); pci_enable_wake (dev, PCI_D3cold, hcd->remote_wakeup); retval = pci_enable_wake (dev, PCI_D3hot, hcd->remote_wakeup); if (retval) break; retval = pci_enable_wake (dev, PCI_D3cold, hcd->remote_wakeup); } else if (retval < 0) { dev_dbg (&dev->dev, "PCI D3 suspend fail, %d\n", retval); Loading Loading @@ -335,8 +337,20 @@ int usb_hcd_pci_resume (struct pci_dev *dev) dev->current_state); } #endif pci_enable_wake (dev, dev->current_state, 0); pci_enable_wake (dev, PCI_D3cold, 0); retval = pci_enable_wake (dev, dev->current_state, 0); if (retval) { dev_err(hcd->self.controller, "can't enable_wake to %d, %d!\n", dev->current_state, retval); return retval; } retval = pci_enable_wake (dev, PCI_D3cold, 0); if (retval) { dev_err(hcd->self.controller, "can't enable_wake to %d, %d!\n", PCI_D3cold, retval); return retval; } } else { /* Same basic cases: clean (powered/not), dirty */ dev_dbg(hcd->self.controller, "PCI legacy resume\n"); Loading Loading @@ -376,7 +390,7 @@ int usb_hcd_pci_resume (struct pci_dev *dev) usb_hc_died (hcd); } pci_enable_device(dev); retval = pci_enable_device(dev); return retval; } EXPORT_SYMBOL (usb_hcd_pci_resume); Loading Loading
drivers/pci/bus.c +2 −1 Original line number Diff line number Diff line Loading @@ -140,10 +140,11 @@ void __devinit pci_bus_add_devices(struct pci_bus *bus) void pci_enable_bridges(struct pci_bus *bus) { struct pci_dev *dev; int retval; list_for_each_entry(dev, &bus->devices, bus_list) { if (dev->subordinate) { pci_enable_device(dev); retval = pci_enable_device(dev); pci_set_master(dev); pci_enable_bridges(dev->subordinate); } Loading
drivers/pci/pci-driver.c +4 −2 Original line number Diff line number Diff line Loading @@ -278,11 +278,13 @@ static int pci_device_suspend(struct device * dev, pm_message_t state) */ static void pci_default_resume(struct pci_dev *pci_dev) { int retval; /* restore the PCI config space */ pci_restore_state(pci_dev); /* if the device was enabled before suspend, reenable */ if (pci_dev->is_enabled) pci_enable_device(pci_dev); retval = pci_enable_device(pci_dev); /* if the device was busmaster before the suspend, make it busmaster again */ if (pci_dev->is_busmaster) pci_set_master(pci_dev); Loading
drivers/pci/pci.c +5 −2 Original line number Diff line number Diff line Loading @@ -444,8 +444,11 @@ pci_enable_device_bars(struct pci_dev *dev, int bars) { int err; pci_set_power_state(dev, PCI_D0); if ((err = pcibios_enable_device(dev, bars)) < 0) err = pci_set_power_state(dev, PCI_D0); if (err) return err; err = pcibios_enable_device(dev, bars); if (err < 0) return err; return 0; } Loading
drivers/pci/pcie/portdrv_pci.c +6 −2 Original line number Diff line number Diff line Loading @@ -90,15 +90,19 @@ static void pcie_portdrv_save_config(struct pci_dev *dev) pci_save_msi_state(dev); } static void pcie_portdrv_restore_config(struct pci_dev *dev) static int pcie_portdrv_restore_config(struct pci_dev *dev) { struct pcie_port_device_ext *p_ext = pci_get_drvdata(dev); int retval; pci_restore_state(dev); if (p_ext->interrupt_mode == PCIE_PORT_MSI_MODE) pci_restore_msi_state(dev); pci_enable_device(dev); retval = pci_enable_device(dev); if (retval) return retval; pci_set_master(dev); return 0; } /* Loading
drivers/usb/core/hcd-pci.c +19 −5 Original line number Diff line number Diff line Loading @@ -260,8 +260,10 @@ int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t message) retval = pci_set_power_state (dev, PCI_D3hot); if (retval == 0) { dev_dbg (hcd->self.controller, "--> PCI D3\n"); pci_enable_wake (dev, PCI_D3hot, hcd->remote_wakeup); pci_enable_wake (dev, PCI_D3cold, hcd->remote_wakeup); retval = pci_enable_wake (dev, PCI_D3hot, hcd->remote_wakeup); if (retval) break; retval = pci_enable_wake (dev, PCI_D3cold, hcd->remote_wakeup); } else if (retval < 0) { dev_dbg (&dev->dev, "PCI D3 suspend fail, %d\n", retval); Loading Loading @@ -335,8 +337,20 @@ int usb_hcd_pci_resume (struct pci_dev *dev) dev->current_state); } #endif pci_enable_wake (dev, dev->current_state, 0); pci_enable_wake (dev, PCI_D3cold, 0); retval = pci_enable_wake (dev, dev->current_state, 0); if (retval) { dev_err(hcd->self.controller, "can't enable_wake to %d, %d!\n", dev->current_state, retval); return retval; } retval = pci_enable_wake (dev, PCI_D3cold, 0); if (retval) { dev_err(hcd->self.controller, "can't enable_wake to %d, %d!\n", PCI_D3cold, retval); return retval; } } else { /* Same basic cases: clean (powered/not), dirty */ dev_dbg(hcd->self.controller, "PCI legacy resume\n"); Loading Loading @@ -376,7 +390,7 @@ int usb_hcd_pci_resume (struct pci_dev *dev) usb_hc_died (hcd); } pci_enable_device(dev); retval = pci_enable_device(dev); return retval; } EXPORT_SYMBOL (usb_hcd_pci_resume); Loading