PCI: correctly initialize a structure for pcie_save_pcix_state()
authorShaohua Li <shaohua.li@intel.com>
Tue, 18 Dec 2007 01:56:56 +0000 (09:56 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Feb 2008 23:04:27 +0000 (15:04 -0800)
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>
drivers/pci/pci.c

index b01ed9a..342857c 100644 (file)
@@ -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;
 }