From: Qiuxu Zhuo <qiuxu.z...@intel.com>

The Root Complex Event Collectors(RCEC) appear as peers to Root Ports
and also have the AER capability. So add RCEC support to the current AER
error injection driver.

Signed-off-by: Qiuxu Zhuo <qiuxu.z...@intel.com>
Co-developed-by: Sean V Kelley <sean.v.kel...@intel.com>
Signed-off-by: Sean V Kelley <sean.v.kel...@intel.com>
---
 drivers/pci/pcie/aer_inject.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/pcie/aer_inject.c b/drivers/pci/pcie/aer_inject.c
index c2cbf425afc5..011a6c54b4e3 100644
--- a/drivers/pci/pcie/aer_inject.c
+++ b/drivers/pci/pcie/aer_inject.c
@@ -333,8 +333,11 @@ static int aer_inject(struct aer_error_inj *einj)
        if (!dev)
                return -ENODEV;
        rpdev = pcie_find_root_port(dev);
+       /* If Root port not found, try to find an RCEC */
+       if (!rpdev)
+               rpdev = dev->rcec;
        if (!rpdev) {
-               pci_err(dev, "Root port not found\n");
+               pci_err(dev, "Neither root port nor RCEC found\n");
                ret = -ENODEV;
                goto out_put;
        }
-- 
2.28.0

Reply via email to