diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2018-01-30 12:12:33 -0600 |
---|---|---|
committer | Bjorn Helgaas <helgaas@kernel.org> | 2018-01-30 15:25:56 -0600 |
commit | 64c3394efd4376c5988b40bcff840e2a1a1c1f17 (patch) | |
tree | 4f9697f0e7fb26fea8ac659eab02d94fddc0a7ed /drivers/pci/pcie | |
parent | a596a7becefe7ddaac0de069ffe913eb2dc43fe4 (diff) | |
download | op-kernel-dev-64c3394efd4376c5988b40bcff840e2a1a1c1f17.zip op-kernel-dev-64c3394efd4376c5988b40bcff840e2a1a1c1f17.tar.gz |
PCI/DPC: Make RP PIO log size check more generic
In dpc_probe(), we set dpc->rp_log_size to zero if we think the hardware
reports an invalid size. In this case, we could have dpc->rp_extensions
set but dpc->rp_log_size == 0, and we should print the basic RP PIO
registers but not the variable-size portion. We already checked for
dpc->rp_log_size < 4 above, so this patch is just for consistency of style.
No functional change intended.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sinan Kaya <okaya@codeaurora.org>
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r-- | drivers/pci/pcie/pcie-dpc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pci/pcie/pcie-dpc.c b/drivers/pci/pcie/pcie-dpc.c index 7e02d335..fede1d4 100644 --- a/drivers/pci/pcie/pcie-dpc.c +++ b/drivers/pci/pcie/pcie-dpc.c @@ -212,11 +212,12 @@ static void dpc_rp_pio_get_info(struct dpc_dev *dpc, &rp_pio->header_log.dw2); pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_HEADER_LOG + 12, &rp_pio->header_log.dw3); - if (dpc->rp_log_size == 4) - return; + if (dpc->rp_log_size < 5) + return; pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG, &rp_pio->impspec_log); + for (i = 0; i < dpc->rp_log_size - 5; i++) pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG, |