Message ID | 20201117191954.1322844-17-sean.v.kelley@intel.com |
---|---|
State | New |
Headers | show |
Series | Add RCEC handling to PCI/AER | expand |
On 11/17/20 11:19 AM, Sean V Kelley wrote: > From: Qiuxu Zhuo <qiuxu.zhuo@intel.com> > > Root Complex Event Collectors (RCEC) appear as peers to Root Ports and may > also have the AER capability. > > Add RCEC support to the AER error injection driver. Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> > > Co-developed-by: Sean V Kelley <sean.v.kelley@intel.com> > Link: https://lore.kernel.org/r/20201002184735.1229220-15-seanvk.dev@oregontracks.org > Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> > Signed-off-by: Sean V Kelley <sean.v.kelley@intel.com> > Signed-off-by: Bjorn Helgaas <bhelgaas@google.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..767f8859b99b 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; > } >
diff --git a/drivers/pci/pcie/aer_inject.c b/drivers/pci/pcie/aer_inject.c index c2cbf425afc5..767f8859b99b 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; }