aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/cpu/pci.c
diff options
context:
space:
mode:
authorSimon Glass2015-08-12 20:09:30 -0600
committerSimon Glass2015-08-14 09:50:13 -0600
commit052e34b363fdd4b20be099c3e1405a30988b3a5a (patch)
tree1f4f7d2a19956d343c754726618d8a05425ca734 /arch/x86/cpu/pci.c
parentecf674b772713837e1d36f9c70ee319d7753a895 (diff)
x86: Return -1 when reading a PCI config register fails
This can fail for internal reasons, so return a sensible value rather than a random one. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/cpu/pci.c')
-rw-r--r--arch/x86/cpu/pci.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/cpu/pci.c b/arch/x86/cpu/pci.c
index f8da08035e6..d2ec45a2403 100644
--- a/arch/x86/cpu/pci.c
+++ b/arch/x86/cpu/pci.c
@@ -76,7 +76,8 @@ unsigned int x86_pci_read_config8(pci_dev_t dev, unsigned where)
{
uint8_t value;
- pci_hose_read_config_byte(get_hose(), dev, where, &value);
+ if (pci_hose_read_config_byte(get_hose(), dev, where, &value))
+ return -1U;
return value;
}
@@ -85,7 +86,8 @@ unsigned int x86_pci_read_config16(pci_dev_t dev, unsigned where)
{
uint16_t value;
- pci_hose_read_config_word(get_hose(), dev, where, &value);
+ if (pci_hose_read_config_word(get_hose(), dev, where, &value))
+ return -1U;
return value;
}
@@ -94,7 +96,8 @@ unsigned int x86_pci_read_config32(pci_dev_t dev, unsigned where)
{
uint32_t value;
- pci_hose_read_config_dword(get_hose(), dev, where, &value);
+ if (pci_hose_read_config_dword(get_hose(), dev, where, &value))
+ return -1U;
return value;
}