diff options
author | Shaohua Li <shaohua.li@intel.com> | 2007-10-23 22:43:23 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-01 18:04:18 -0500 |
commit | 39ec4561b3a9ccccbdab1dd88a045342be22f27b (patch) | |
tree | 9ce35eccd8fc1ad81067a022d9c40305294babef /drivers/pci | |
parent | eb003ec26556057e5f27d4b989bbb432d0bdc0f4 (diff) |
pcie port driver: correctly detect native PME feature
Native PME is capability of root port or root complex event collector.
It's not determined by PCI PME capability.
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/pcie/portdrv_core.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c index b20a9b81dae2..23d9eb073296 100644 --- a/drivers/pci/pcie/portdrv_core.c +++ b/drivers/pci/pcie/portdrv_core.c | |||
@@ -192,9 +192,8 @@ static int get_port_device_capability(struct pci_dev *dev) | |||
192 | if (reg32 & SLOT_HP_CAPABLE_MASK) | 192 | if (reg32 & SLOT_HP_CAPABLE_MASK) |
193 | services |= PCIE_PORT_SERVICE_HP; | 193 | services |= PCIE_PORT_SERVICE_HP; |
194 | } | 194 | } |
195 | /* PME Capable */ | 195 | /* PME Capable - root port capability */ |
196 | pos = pci_find_capability(dev, PCI_CAP_ID_PME); | 196 | if (((reg16 >> 4) & PORT_TYPE_MASK) == PCIE_RC_PORT) |
197 | if (pos) | ||
198 | services |= PCIE_PORT_SERVICE_PME; | 197 | services |= PCIE_PORT_SERVICE_PME; |
199 | 198 | ||
200 | pos = PCI_CFG_SPACE_SIZE; | 199 | pos = PCI_CFG_SPACE_SIZE; |