PCI/ERR: Simplify by computing pci_pcie_type() once
Instead of calling pci_pcie_type(dev) twice, call it once and save the result. No functional change intended. Link: https://lore.kernel.org/r/20201121001036.8560-7-sean.v.kelley@intel.com Tested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> # non-native/no RCEC Signed-off-by: Sean V Kelley <sean.v.kelley@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
5d69dcc9f8
commit
480ef7cb9f
@ -1034,6 +1034,7 @@ EXPORT_SYMBOL_GPL(aer_recover_queue);
|
||||
*/
|
||||
int aer_get_device_error_info(struct pci_dev *dev, struct aer_err_info *info)
|
||||
{
|
||||
int type = pci_pcie_type(dev);
|
||||
int aer = dev->aer_cap;
|
||||
int temp;
|
||||
|
||||
@ -1052,8 +1053,8 @@ int aer_get_device_error_info(struct pci_dev *dev, struct aer_err_info *info)
|
||||
&info->mask);
|
||||
if (!(info->status & ~info->mask))
|
||||
return 0;
|
||||
} else if (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT ||
|
||||
pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM ||
|
||||
} else if (type == PCI_EXP_TYPE_ROOT_PORT ||
|
||||
type == PCI_EXP_TYPE_DOWNSTREAM ||
|
||||
info->severity == AER_NONFATAL) {
|
||||
|
||||
/* Link is still healthy for IO reads */
|
||||
|
@ -150,6 +150,7 @@ pci_ers_result_t pcie_do_recovery(struct pci_dev *dev,
|
||||
pci_channel_state_t state,
|
||||
pci_ers_result_t (*reset_subordinates)(struct pci_dev *pdev))
|
||||
{
|
||||
int type = pci_pcie_type(dev);
|
||||
pci_ers_result_t status = PCI_ERS_RESULT_CAN_RECOVER;
|
||||
struct pci_bus *bus;
|
||||
|
||||
@ -157,8 +158,8 @@ pci_ers_result_t pcie_do_recovery(struct pci_dev *dev,
|
||||
* Error recovery runs on all subordinates of the first downstream port.
|
||||
* If the downstream port detected the error, it is cleared at the end.
|
||||
*/
|
||||
if (!(pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT ||
|
||||
pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM))
|
||||
if (!(type == PCI_EXP_TYPE_ROOT_PORT ||
|
||||
type == PCI_EXP_TYPE_DOWNSTREAM))
|
||||
dev = pci_upstream_bridge(dev);
|
||||
bus = dev->subordinate;
|
||||
|
||||
|
@ -101,13 +101,14 @@ static const struct dev_pm_ops pcie_portdrv_pm_ops = {
|
||||
static int pcie_portdrv_probe(struct pci_dev *dev,
|
||||
const struct pci_device_id *id)
|
||||
{
|
||||
int type = pci_pcie_type(dev);
|
||||
int status;
|
||||
|
||||
if (!pci_is_pcie(dev) ||
|
||||
((pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT) &&
|
||||
(pci_pcie_type(dev) != PCI_EXP_TYPE_UPSTREAM) &&
|
||||
(pci_pcie_type(dev) != PCI_EXP_TYPE_DOWNSTREAM) &&
|
||||
(pci_pcie_type(dev) != PCI_EXP_TYPE_RC_EC)))
|
||||
((type != PCI_EXP_TYPE_ROOT_PORT) &&
|
||||
(type != PCI_EXP_TYPE_UPSTREAM) &&
|
||||
(type != PCI_EXP_TYPE_DOWNSTREAM) &&
|
||||
(type != PCI_EXP_TYPE_RC_EC)))
|
||||
return -ENODEV;
|
||||
|
||||
status = pcie_port_device_register(dev);
|
||||
|
Loading…
Reference in New Issue
Block a user