diff options
author | Shaohua Li <shaohua.li@intel.com> | 2007-10-24 06:43:23 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-02 02:04:18 +0300 |
commit | 39ec4561b3a9ccccbdab1dd88a045342be22f27b (patch) | |
tree | 9ce35eccd8fc1ad81067a022d9c40305294babef /drivers/pci/pcie | |
parent | eb003ec26556057e5f27d4b989bbb432d0bdc0f4 (diff) | |
download | linux-39ec4561b3a9ccccbdab1dd88a045342be22f27b.tar.xz |
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.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) if (reg32 & SLOT_HP_CAPABLE_MASK) services |= PCIE_PORT_SERVICE_HP; } - /* PME Capable */ - pos = pci_find_capability(dev, PCI_CAP_ID_PME); - if (pos) + /* PME Capable - root port capability */ + if (((reg16 >> 4) & PORT_TYPE_MASK) == PCIE_RC_PORT) services |= PCIE_PORT_SERVICE_PME; pos = PCI_CFG_SPACE_SIZE; |