diff options
author | Naveen Naidu <naveennaidu479@gmail.com> | 2021-11-18 19:33:27 +0530 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2021-11-18 14:13:18 -0600 |
commit | 242f288e82a34b4c10f87e121b0755056675e55d (patch) | |
tree | e1b0595cb8fd450c02b315bfe7f6a48ed63b2010 /drivers/pci/controller/vmd.c | |
parent | fa52b6447ce1cc0157c89dac7762f1693deeb10e (diff) | |
download | lwn-242f288e82a34b4c10f87e121b0755056675e55d.tar.gz lwn-242f288e82a34b4c10f87e121b0755056675e55d.zip |
PCI: vmd: Use PCI_POSSIBLE_ERROR() to check config reads
When config pci_ops.read() can detect failed PCI transactions, the data
returned to the CPU is PCI_ERROR_RESPONSE (~0 or 0xffffffff).
Obviously a successful PCI config read may *also* return that data if a
config register happens to contain ~0, so it doesn't definitively indicate
an error unless we know the register cannot contain ~0.
Use PCI_POSSIBLE_ERROR() to check the response we get when we read data
from hardware. This unifies PCI error response checking and makes error
checks consistent and easier to find.
Link: https://lore.kernel.org/r/ed01cad87a2e35f3865275b5fb34290817a1ebf8.1637243717.git.naveennaidu479@gmail.com
Signed-off-by: Naveen Naidu <naveennaidu479@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Jonathan Derrick <jonathan.derrick@linux.dev>
Diffstat (limited to 'drivers/pci/controller/vmd.c')
-rw-r--r-- | drivers/pci/controller/vmd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c index a45e8e59d3d4..515d05605204 100644 --- a/drivers/pci/controller/vmd.c +++ b/drivers/pci/controller/vmd.c @@ -541,7 +541,7 @@ static int vmd_get_phys_offsets(struct vmd_dev *vmd, bool native_hint, int ret; ret = pci_read_config_dword(dev, PCI_REG_VMLOCK, &vmlock); - if (ret || vmlock == ~0) + if (ret || PCI_POSSIBLE_ERROR(vmlock)) return -ENODEV; if (MB2_SHADOW_EN(vmlock)) { |