Skip to contentSkip to conversation

PCI_READ_VIA_DWORD_OP: Fix *val uninitialized bug

PATCH New Shinya Kuribayashi 2 participants 2 messages Aug 17, 2007 – Aug 18, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PCI_READ_VIA_DWORD_OP: Fix *val uninitialized bug

From: Shinya Kuribayashi <[email protected]>

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.

---

 drivers/pci.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/pci.c +3 -1
Index: 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));		\
 									\
#1 lore raw

PATCH 1/1 PCI_READ_VIA_DWORD_OP: Fix *val uninitialized bug

Quoted 10 lines · In message <[email protected]> you wrote:

From: Shinya Kuribayashi <[email protected]>

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.

Quoted 4 lines

Without this fix, for example, we'll go on scanning bus with vendor or header_type uninitialized. This brings many unnecessary config trials.

Applied, thanks.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Unix is simple, but it takes a genius to understand the simplicity."
					             - Dennis Ritchie