PCI/portdrv: Don't create hotplug slots unless port supports hotplug
Commit 2dcfaf85
mistakenly dropped the "flags & PCI_EXP_FLAGS_SLOT" test,
so now we create hotplug slots even for PCIe port devices that don't
support hotplug. This patch fixes this problem.
[bhelgaas: changelog]
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Reviewed-by: Jiang Liu <jiang.liu@huawei.com>
This commit is contained in:
parent
3cba8eedb7
commit
ff8e59bc4e
|
@ -272,7 +272,8 @@ static int get_port_device_capability(struct pci_dev *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hot-Plug Capable */
|
/* Hot-Plug Capable */
|
||||||
if (cap_mask & PCIE_PORT_SERVICE_HP) {
|
if ((cap_mask & PCIE_PORT_SERVICE_HP) &&
|
||||||
|
dev->pcie_flags_reg & PCI_EXP_FLAGS_SLOT) {
|
||||||
pcie_capability_read_dword(dev, PCI_EXP_SLTCAP, ®32);
|
pcie_capability_read_dword(dev, PCI_EXP_SLTCAP, ®32);
|
||||||
if (reg32 & PCI_EXP_SLTCAP_HPC) {
|
if (reg32 & PCI_EXP_SLTCAP_HPC) {
|
||||||
services |= PCIE_PORT_SERVICE_HP;
|
services |= PCIE_PORT_SERVICE_HP;
|
||||||
|
|
Loading…
Reference in a new issue