Re: [External] Re: [PATCH v3 0/9] PCI/AER: Fix and optimize usage of status clearing api

Zhuo Chen
2022-09-28T15:54:18Z

On 9/28/22 7:06 PM, Serge Semin wrote:
> On Wed, Sep 28, 2022 at 06:59:37PM +0800, Zhuo Chen wrote:
>> Hello.
>>
>> Here comes patch v3, which contains some fixes and optimizations of
>> aer api usage. The v1 and v2 can be found on the mailing list.
>>
>> v3:
>> - Modifications to comments proposed by Sathyanarayanan.
>
>> Remove
>> pci_aer_clear_nonfatal_status() call in NTB and improve commit log.
>
> Failed to see who has requested that...
>
> -Sergey
>
Hi, Sergey

Currently other vendor drivers do not clear error status in their own
init code, I don't exactly know what is special reason for clearing
error status during init code in ntb driver.

An evidence is in pci_aer_init(), PCI core driver has do
pci_aer_clear_status() and pci_enable_pcie_error_reporting() in common
process. So vendor drivers don't need to do again.

But I don't know the reason why many vendor drivers reserve
pci_enable_pcie_error_reporting() after commit f26e58bf6f54 ("PCI/AER:
Enable error reporting when AER is native"). Do they need to be removed?
Could Bjorn and Sathyanarayanan help look into it, thanks a lot.

Thanks.
>>
>> v2:
>> - Modifications to comments proposed by Bjorn. Split patch into more
>> obvious parts.
>>
>> Zhuo Chen (9):
>> PCI/AER: Add pci_aer_clear_uncorrect_error_status() to PCI core
>> PCI/DPC: Use pci_aer_clear_uncorrect_error_status() to clear
>> uncorrectable error status
>> NTB: Remove pci_aer_clear_nonfatal_status() call
>> scsi: lpfc: Change to use pci_aer_clear_uncorrect_error_status()
>> PCI/AER: Unexport pci_aer_clear_nonfatal_status()
>> PCI/AER: Move check inside pcie_clear_device_status().
>> PCI/AER: Use pcie_aer_is_native() to judge whether OS owns AER
>> PCI/ERR: Clear fatal error status when pci_channel_io_frozen
>> PCI/AER: Refine status clearing process with api
>>
>> drivers/ntb/hw/idt/ntb_hw_idt.c | 2 --
>> drivers/pci/pci.c | 7 +++--
>> drivers/pci/pci.h | 2 ++
>> drivers/pci/pcie/aer.c | 45 +++++++++++++++++++--------------
>> drivers/pci/pcie/dpc.c | 3 +--
>> drivers/pci/pcie/err.c | 15 ++++-------
>> drivers/pci/pcie/portdrv_core.c | 3 +--
>> drivers/scsi/lpfc/lpfc_attr.c | 4 +--
>> include/linux/aer.h | 4 +--
>> 9 files changed, 44 insertions(+), 41 deletions(-)
>>
>> --
>> 2.30.1 (Apple Git-130)
>>

--
Zhuo Chen