[PATCH 0/7] disable bridge ari forwarding after connected ari device hot removed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



pci_enable_ari will be called if an ARI pci device found, then set its bridge ARI Forwarding Enable
bit in Device Control 2 Register. But the bridge ARI Forwarding Enable bit will never be cleared
when an ARI device hot removed.

my steps:
1. Hot add an ARI pci device;
2. Hot remove the ARI pci device;
3. Hot add an non ARI pci device;

In this case, after setp 3, we could only find fun 0 of non ARI pci device because of its bridge ARI Forwarding Enable
bit set.

As PCIe Spec 2.0(6.13/441) recommends:
"Following a hot-plug event below a Downstream Port, it is strongly recommended that software
Clear the ARI Forwarding Enable bit in the Downstream Port until software determines that a
newly added component is in fact an ARI Device"

This series of patches fix this problem.

Yijing Wang (7):
  PCI: rework pci_enable_ari for support disable ari forwarding
  PCI, acpiphp: disable ARI forwarding for acpiphp
  PCI, pciehp: disable ARI forwarding for pciehp
  PCI, cpqphp: disable ARI forwarding for cpqphp
  PCI, shpchp: disable ARI forwarding for shpchp
  PCI, sgi: disable ARI forwarding for sgiphp
  PCI, ibmphp: disable ARI forwarding for ibmphp

 drivers/pci/hotplug/acpiphp_glue.c     |    1 +
 drivers/pci/hotplug/cpci_hotplug_pci.c |    1 +
 drivers/pci/hotplug/cpqphp_pci.c       |    1 +
 drivers/pci/hotplug/ibmphp_core.c      |    1 +
 drivers/pci/hotplug/pciehp_pci.c       |    1 +
 drivers/pci/hotplug/sgi_hotplug.c      |    1 +
 drivers/pci/hotplug/shpchp_pci.c       |    1 +
 drivers/pci/pci.c                      |   16 +++++++++++-----
 drivers/pci/pci.h                      |    2 +-
 drivers/pci/probe.c                    |    2 +-
 10 files changed, 20 insertions(+), 7 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux