From: Shinya Kuribayashi Date: Fri, 17 Aug 2007 03:43:44 +0000 (+0900) Subject: PCI_READ_VIA_DWORD_OP: Fix *val uninitialized bug X-Git-Tag: v1.3.0-rc1~19^2~5^2~1 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=815b5bd5b18569917c3e04b9757511e6ed23b9f6;p=u-boot PCI_READ_VIA_DWORD_OP: Fix *val uninitialized bug This patch has been sent on: - 6 Jun 2007 Many users of PCI config read routines tend to ignore the function ret value, and are only concerned about the contents of *val. Based on this, pci_hose_read_config_{byte,word}_via_dword should initialize the *val on dword read error. Without this fix, for example, we'll go on scanning bus with vendor or header_type uninitialized. This brings many unnecessary config trials. Signed-off-by: Shinya Kuribayashi --- diff --git a/drivers/pci.c b/drivers/pci.c index 41589192c1..50ca6b0bad 100644 --- a/drivers/pci.c +++ b/drivers/pci.c @@ -82,8 +82,10 @@ int pci_hose_read_config_##size##_via_dword(struct pci_controller *hose,\ { \ u32 val32; \ \ - if (pci_hose_read_config_dword(hose, dev, offset & 0xfc, &val32) < 0)\ + if (pci_hose_read_config_dword(hose, dev, offset & 0xfc, &val32) < 0) { \ + *val = -1; \ return -1; \ + } \ \ *val = (val32 >> ((offset & (int)off_mask) * 8)); \ \