diff options
| author | Bjorn Helgaas <bhelgaas@google.com> | 2025-05-22 18:21:23 -0500 | 
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2025-05-23 11:11:45 -0500 | 
| commit | d72bae423004aa7b4d94c34a7fd0b48b64305a08 (patch) | |
| tree | 3020d018138aa2f727745faac6dd2602f6c109f6 | |
| parent | 94bc15c3484aa1dbbd01aee8f9eaa5dc347a01a8 (diff) | |
PCI/AER: Simplify add_error_device()
Return -ENOSPC error early so the usual path through add_error_device() is
the straightline code.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Link: https://patch.msgid.link/20250522232339.1525671-18-helgaas@kernel.org
| -rw-r--r-- | drivers/pci/pcie/aer.c | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index ab99bc1b8542..5d62b82b5bc1 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c @@ -816,12 +816,15 @@ EXPORT_SYMBOL_NS_GPL(pci_print_aer, "CXL");   */  static int add_error_device(struct aer_err_info *e_info, struct pci_dev *dev)  { -	if (e_info->error_dev_num < AER_MAX_MULTI_ERR_DEVICES) { -		e_info->dev[e_info->error_dev_num] = pci_dev_get(dev); -		e_info->error_dev_num++; -		return 0; -	} -	return -ENOSPC; +	int i = e_info->error_dev_num; + +	if (i >= AER_MAX_MULTI_ERR_DEVICES) +		return -ENOSPC; + +	e_info->dev[i] = pci_dev_get(dev); +	e_info->error_dev_num++; + +	return 0;  }  /** | 
