summaryrefslogtreecommitdiffstats
path: root/drivers/pci/probe.c
diff options
context:
space:
mode:
authorRafael J. Wysocki2008-12-07 22:02:58 +0100
committerJesse Barnes2009-01-07 20:12:40 +0100
commit63f4898ace2788a89ed685672aab092e1c3e50e6 (patch)
treeed57eeeb486466697c3d97feaf34396dd2a2b992 /drivers/pci/probe.c
parentPCI: extend on the ICH motherboard IO decode quirk list (diff)
downloadkernel-qcow2-linux-63f4898ace2788a89ed685672aab092e1c3e50e6.tar.gz
kernel-qcow2-linux-63f4898ace2788a89ed685672aab092e1c3e50e6.tar.xz
kernel-qcow2-linux-63f4898ace2788a89ed685672aab092e1c3e50e6.zip
PCI: handle PCI state saving with interrupts disabled
Since interrupts will soon be disabled at PCI resume time, we need to pre-allocate memory to save/restore PCI config space (or use GFP_ATOMIC, but this is safer). Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: "Rafael J. Wysocki" <rjw@sisk.pl> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r--drivers/pci/probe.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index eb2b985beb48..5dcf2b65e3f9 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -958,6 +958,9 @@ static void pci_init_capabilities(struct pci_dev *dev)
/* MSI/MSI-X list */
pci_msi_init_pci_dev(dev);
+ /* Buffers for saving PCIe and PCI-X capabilities */
+ pci_allocate_cap_save_buffers(dev);
+
/* Power Management */
pci_pm_init(dev);