Hi Subrahmanya, On Wed, Jun 06, 2018 at 05:57:17PM +0530, Subrahmanya Lingappa wrote: > Hi, > according to https://github.com/torvalds/linux/blob/master/Documentation/PCI/pci-error-recovery.txt > > as part of AER handling, struct pci_error_handlers{} is implemented by > endpoint drivers to handle device specific recovery steps for "struct > pci_driver". > > But we have a platform_driver which implements "struct > pci_host_bridge" which also supports AER capability how can we support > pci_error_handlers() for the host bridge drivers ? I assume you're referring to Mobiveil. Can you explain more of the topology here? Can you also include "sudo lspci -vv" output? The AER capability is an optional capability of PCIe device functions. A host bridge is not itself a PCIe function; it's a bridge between a platform-specific host bus and the PCIe bus. Sometimes there is a PCI function that corresponds to the host bridge, but that's not required by the PCI specs and there is no generic programming model for it. If you have an PCIe function corresponding to the Mobiveil host bridge, and it has an AER capability, what would you want the error handlers to do? This function would not normally be a Root Port or other type 1 PCI-to-PCI bridge device, so it's not clear how its AER would integrate with the PCIe hierarchy. Bjorn