aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2007-12-17 20:56:56 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-01 18:04:27 -0500
commitec0a3a27fbb5792980b8c3ce4a93bc2ee93d0b35 (patch)
tree3885a0355cb54a1f5bd17c2ccec616dc0a70279b /drivers/pci
parentf34303de9e0263b389a215483adddc7d918cf8c8 (diff)
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>
Diffstat (limited to 'drivers/pci')
-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)
587 pci_read_config_word(dev, pos + PCI_EXP_LNKCTL, &cap[i++]); 587 pci_read_config_word(dev, pos + PCI_EXP_LNKCTL, &cap[i++]);
588 pci_read_config_word(dev, pos + PCI_EXP_SLTCTL, &cap[i++]); 588 pci_read_config_word(dev, pos + PCI_EXP_SLTCTL, &cap[i++]);
589 pci_read_config_word(dev, pos + PCI_EXP_RTCTL, &cap[i++]); 589 pci_read_config_word(dev, pos + PCI_EXP_RTCTL, &cap[i++]);
590 save_state->cap_nr = PCI_CAP_ID_EXP;
590 pci_add_saved_cap(dev, save_state); 591 pci_add_saved_cap(dev, save_state);
591 return 0; 592 return 0;
592} 593}
@@ -630,6 +631,7 @@ static int pci_save_pcix_state(struct pci_dev *dev)
630 cap = (u16 *)&save_state->data[0]; 631 cap = (u16 *)&save_state->data[0];
631 632
632 pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); 633 pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]);
634 save_state->cap_nr = PCI_CAP_ID_PCIX;
633 pci_add_saved_cap(dev, save_state); 635 pci_add_saved_cap(dev, save_state);
634 return 0; 636 return 0;
635} 637}