summaryrefslogtreecommitdiffstats
path: root/drivers/pci/setup-irq.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2009-01-22 23:38:31 +0100
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-01-27 18:47:02 +0100
commit48f67f54a53bb68619a63c3f38cf7f502ed74b1d (patch)
tree4a35f4b6319322104999b91a1b1b965ba2e94102 /drivers/pci/setup-irq.c
parentPCI PM: Fix hibernation breakage on EeePC 701 (diff)
downloadlinux-48f67f54a53bb68619a63c3f38cf7f502ed74b1d.tar.xz
linux-48f67f54a53bb68619a63c3f38cf7f502ed74b1d.zip
PCI PM: Power up devices before restoring their state
Devices that have MSI-X enabled before suspend to RAM or hibernation and that are in a low power state during resume will not be handled correctly by pci_restore_standard_config(). Namely, it first calls pci_restore_state() which calls pci_restore_msi_state(), which in turn executes __pci_restore_msix_state() that accesses the device's memory space to restore the contents of the MSI-X table. However, if the device is in a low power state at this point, it's memory space is not accessible. The easiest way to fix this potential problem is to make pci_restore_standard_config() call pci_restore_state() after it has put the device into the full power state, D0. Fortunately, all of this is done with interrupts off, so the change of ordering should not cause any trouble. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/setup-irq.c')
0 files changed, 0 insertions, 0 deletions