[U-Boot-Users] [PATCH] PCI_READ_VIA_DWORD_OP: Fix *val uninitialized bug
Shinya Kuribayashi
shinya.kuribayashi at necel.com
Fri Aug 17 05:43:44 CEST 2007
From: Shinya Kuribayashi <shinya.kuribayashi at necel.com>
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 <shinya.kuribayashi at necel.com>
---
drivers/pci.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: b/drivers/pci.c
===================================================================
--- a/drivers/pci.c
+++ b/drivers/pci.c
@@ -81,8 +81,10 @@ int pci_hose_read_config_##size##_via_dw
{ \
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)); \
\
More information about the U-Boot
mailing list