[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250504154353.180844-1-18255117159@163.com>
Date: Sun, 4 May 2025 23:43:53 +0800
From: Hans Zhang <18255117159@....com>
To: mahesh@...ux.ibm.com,
bhelgaas@...gle.com
Cc: oohall@...il.com,
manivannan.sadhasivam@...aro.org,
linuxppc-dev@...ts.ozlabs.org,
linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org,
Hans Zhang <18255117159@....com>
Subject: [PATCH] PCI/AER: Use pci_clear_and_set_config_dword() to simplify mask updates
Replace the manual read-modify-write sequences in
pci_aer_unmask_internal_errors()with pci_clear_and_set_config_dword().
This function performs the read/write operations atomically and reduces
code duplication.
Signed-off-by: Hans Zhang <18255117159@....com>
---
drivers/pci/pcie/aer.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index a1cf8c7ef628..20d2d7419fa4 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -953,15 +953,12 @@ static bool find_source_device(struct pci_dev *parent,
static void pci_aer_unmask_internal_errors(struct pci_dev *dev)
{
int aer = dev->aer_cap;
- u32 mask;
- pci_read_config_dword(dev, aer + PCI_ERR_UNCOR_MASK, &mask);
- mask &= ~PCI_ERR_UNC_INTN;
- pci_write_config_dword(dev, aer + PCI_ERR_UNCOR_MASK, mask);
+ pci_clear_and_set_config_dword(dev, aer + PCI_ERR_UNCOR_MASK,
+ PCI_ERR_UNC_INTN, 0);
- pci_read_config_dword(dev, aer + PCI_ERR_COR_MASK, &mask);
- mask &= ~PCI_ERR_COR_INTERNAL;
- pci_write_config_dword(dev, aer + PCI_ERR_COR_MASK, mask);
+ pci_clear_and_set_config_dword(dev, aer + PCI_ERR_COR_MASK,
+ PCI_ERR_COR_INTERNAL, 0);
}
static bool is_cxl_mem_dev(struct pci_dev *dev)
base-commit: ca91b9500108d4cf083a635c2e11c884d5dd20ea
--
2.25.1
Powered by blists - more mailing lists