Re: [PATCH v3] PCI/ERR: Use pcie_aer_is_native() to judge whether OS owns AER

From: Sathyanarayanan Kuppuswamy
Date: Tue Aug 02 2022 - 18:18:59 EST




On 7/27/22 2:37 AM, Zhuo Chen wrote:
>>
> Do you mean changing "if ((host->native_aer || pcie_ports_native) && aer)" into "if (pcie_aer_is_native(dev) && aer)" ?
> I thought changing into "if (pcie_aer_is_native(dev))" before.
>
> One another doubt. Not every pci device support aer. When dev->aer_cap is NULL and root->aer_cap is not NULL in aer_root_reset(), pcie_aer_is_native() will return false and OS cannot operate root register. It's different from just using "(host->native_aer || pcie_ports_native)".
>
> Or we can change "if ((host->native_aer || pcie_ports_native) && aer)" into "if (pcie_aer_is_native(root))". But in this way, argument NULL pointer check should be added in pcie_aer_is_native().

Looking into it again, I think it is better to leave it as it is. Please ignore my comment.

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer