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.

Reply via email to