On Mon, Dec 12, 2022 at 12:46:11AM -0800, Christoph Hellwig wrote: > On Fri, Dec 09, 2022 at 06:29:22PM -0600, Bjorn Helgaas wrote: > > + if ((pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT || > > + pci_pcie_type(dev) == PCI_EXP_TYPE_RC_EC) && > > + dev->aer_cap && pci_aer_available() && > > (pcie_ports_native || host->native_aer)) > > Eww, this is really hard to follow. Can you split this out into > a little helper, that actually documents the decisions based > on some of the wording you have in the current comit message? I completely agree. We have basically the same sort of thing for PCIE_PORT_SERVICE_HP (also added this cycle), PCIE_PORT_SERVICE_AER, PCIE_PORT_SERVICE_PME, and PCIE_PORT_SERVICE_DPC. I'd really like to figure out a way to centralize the check for pcie_ports_native, host->native_aer, etc., because they clutter a lot of places. I didn't have time to work on that this cycle, but maybe next time. Bjorn