Re: [PATCH 2/2] PCI/AER: Determine AER ownership based on _OSC instead of HEST

From: Keith Busch
Date: Thu Nov 15 2018 - 18:47:06 EST


On Thu, Nov 15, 2018 at 05:16:03PM -0600, Alexandru Gagniuc wrote:
> static void aer_set_firmware_first(struct pci_dev *pci_dev)
> {
> - int rc;
> - struct aer_hest_parse_info info = {
> - .pci_dev = pci_dev,
> - .firmware_first = 0,
> - };
> + struct pci_host_bridge *host = pci_find_host_bridge(pci_dev->bus);
>
> - rc = apei_hest_parse(aer_hest_parse, &info);
> -
> - if (rc)
> - pci_dev->__aer_firmware_first = 0;
> - else
> - pci_dev->__aer_firmware_first = info.firmware_first;
> + pci_dev->__aer_firmware_first = !host->native_aer;
> pci_dev->__aer_firmware_first_valid = 1;
> }

I think we can clean this up even more by removing the setter and the
__aer_firmware_first fields, and have the pcie_aer_get_firmware_first()
go directly to the host bride->native_aer.