X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=arch%2Fx86%2Fcpu%2Fpci.c;h=d2ec45a2403cba00839ed68378838407e153d303;hb=aa09505ba1677c25e83115375a6775a5eae444ef;hp=fdfd5f7b9cc85648227f0e1a1fdc50e3e49d1fde;hpb=31a2dc69553136b01b51de23dd190c0f7b36de2a;p=u-boot diff --git a/arch/x86/cpu/pci.c b/arch/x86/cpu/pci.c index fdfd5f7b9c..d2ec45a240 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; } @@ -172,6 +175,8 @@ void pci_assign_irqs(int bus, int device, u8 irq[4]) continue; line = irq[pin - 1]; + if (!line) + continue; debug("Assigning IRQ %d to PCI device %d.%x.%d (INT%c)\n", line, bus, device, func, 'A' + pin - 1);