aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pcie
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2007-10-23 22:43:23 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-01 18:04:18 -0500
commit39ec4561b3a9ccccbdab1dd88a045342be22f27b (patch)
tree9ce35eccd8fc1ad81067a022d9c40305294babef /drivers/pci/pcie
parenteb003ec26556057e5f27d4b989bbb432d0bdc0f4 (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/pcie')
-rw-r--r--drivers/pci/pcie/portdrv_core.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
index b20a9b81dae..23d9eb07329 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;