summaryrefslogtreecommitdiffstats
path: root/drivers/pci/pcie/pcie-dpc.c
diff options
context:
space:
mode:
authorKeith Busch2016-07-06 18:06:00 +0200
committerBjorn Helgaas2016-07-25 19:45:19 +0200
commit7e16fd6df178d3395d32c7d325df69062ea6e024 (patch)
tree3cf88d9cad1499adb6493f754d712ed1ced9ec9c /drivers/pci/pcie/pcie-dpc.c
parentPCI: Fix whitespace in struct dpc_dev (diff)
downloadkernel-qcow2-linux-7e16fd6df178d3395d32c7d325df69062ea6e024.tar.gz
kernel-qcow2-linux-7e16fd6df178d3395d32c7d325df69062ea6e024.tar.xz
kernel-qcow2-linux-7e16fd6df178d3395d32c7d325df69062ea6e024.zip
PCI: Bind DPC to Root Ports as well as Downstream Ports
PCIe port type values are not flags, so OR'ing them is not correct. Previously the result was equivalent to PCIe Downstream Ports, so we were missing binding to DPC-capable Root Ports. Change the type to 'any' so we can bind to both port types. While this will cause the code to check Upstream Ports, the driver won't claim them since they are not DPC-capable. Reported-by: Alexander Antonov <alexanderx.v.antonov@intel.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> CC: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/pci/pcie/pcie-dpc.c')
-rw-r--r--drivers/pci/pcie/pcie-dpc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pcie/pcie-dpc.c b/drivers/pci/pcie/pcie-dpc.c
index fcd19430d41e..250f87861786 100644
--- a/drivers/pci/pcie/pcie-dpc.c
+++ b/drivers/pci/pcie/pcie-dpc.c
@@ -133,7 +133,7 @@ static void dpc_remove(struct pcie_device *dev)
static struct pcie_port_service_driver dpcdriver = {
.name = "dpc",
- .port_type = PCI_EXP_TYPE_ROOT_PORT | PCI_EXP_TYPE_DOWNSTREAM,
+ .port_type = PCIE_ANY_PORT,
.service = PCIE_PORT_SERVICE_DPC,
.probe = dpc_probe,
.remove = dpc_remove,