On Fri, Jul 17, 2020 at 01:20:22PM -0700, Kuppuswamy, Sathyanarayanan wrote: > Hi Bjorn, > > On 7/17/20 12:56 PM, Bjorn Helgaas wrote: > > From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > > > > pci_aer_clear_device_status() clears the error bits in the PCIe Device > > Status Register (PCI_EXP_DEVSTA). Every PCIe device has this register, > > regardless of whether it supports AER. > > Since its not related to AER, can we move it out of AER driver ? May be > to pci.c ? OK. pci.c is really a grab bag of random stuff, but it *is* true that this doesn't really seem to belong in aer.c. So I don't mind moving it to pci.c (does just before pcie_clear_root_pme_status() seem like a reasonable spot?) But looking at this again makes me wonder whether putting the pcie_aer_is_native() test inside pcie_clear_device_status() is the right thing. It seems like that test fits better with the AER code, i.e., in the *callers* of pcie_clear_device_status(). It would mean repeating the test, since we call it twice, but it seems like it might match up with the spec better. And I have a slight aversion to functions that can silently return without doing what it looks like they're supposed to do. I can fix this all up if that seems right. Or let me know if you have alternate ideas. Bjorn