summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2007-12-18 09:56:56 +0800
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-01 15:04:27 -0800
commitec0a3a27fbb5792980b8c3ce4a93bc2ee93d0b35 (patch)
tree3885a0355cb54a1f5bd17c2ccec616dc0a70279b
parentf34303de9e0263b389a215483adddc7d918cf8c8 (diff)
downloadlwn-ec0a3a27fbb5792980b8c3ce4a93bc2ee93d0b35.tar.gz
lwn-ec0a3a27fbb5792980b8c3ce4a93bc2ee93d0b35.zip
PCI: correctly initialize a structure for pcie_save_pcix_state()
save_state->cap_nr should be correctly set, otherwise we can't find the saved cap at resume. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/pci/pci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index b01ed9a5ab43..342857c555de 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -587,6 +587,7 @@ static int pci_save_pcie_state(struct pci_dev *dev)
pci_read_config_word(dev, pos + PCI_EXP_LNKCTL, &cap[i++]);
pci_read_config_word(dev, pos + PCI_EXP_SLTCTL, &cap[i++]);
pci_read_config_word(dev, pos + PCI_EXP_RTCTL, &cap[i++]);
+ save_state->cap_nr = PCI_CAP_ID_EXP;
pci_add_saved_cap(dev, save_state);
return 0;
}
@@ -630,6 +631,7 @@ static int pci_save_pcix_state(struct pci_dev *dev)
cap = (u16 *)&save_state->data[0];
pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]);
+ save_state->cap_nr = PCI_CAP_ID_PCIX;
pci_add_saved_cap(dev, save_state);
return 0;
}