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

From: Zhuo Chen
Date: Wed Sep 28 2022 - 11:54:24 EST




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