[U-Boot] [PATCH v3] IDE: bail out of dev_print() for unknown device types
Wolfgang Denk
wd at denx.de
Fri May 15 09:27:58 CEST 2009
Commit 574b319512 introduced a subtle bug by mixing a list of tests
for "dev_desc->type" and "dev_desc->if_type" into one switch(), which
then mostly did not work because "dev_desc->type" cannot take any
"IF_*" type values. A later fix in commit 8ec6e332ea changed the
switch() into testing "dev_desc->if_type", but at this point the
initial test for unknown device types was completely lost, which
resulted in output like that for IDE ports without device attached:
Device 1: Model: Firm: Ser#:
Type: # 1F #
Capacity: not available
This patch re-introduces the missing test for unknown device types.
Signed-off-by: Wolfgang Denk <wd at denx.de>
Cc: Stefan Roese <sr at denx.de>
Cc: Detlev Zundel <dzu at denx.de>
---
v2: fix typo
v3: fix white space
disk/part.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/disk/part.c b/disk/part.c
index c777493..b92fb45 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -114,6 +114,11 @@ void dev_print (block_dev_desc_t *dev_desc)
lbaint_t lba512;
#endif
+ if (dev_desc->type == DEV_TYPE_UNKNOWN) {
+ puts ("not available\n");
+ return;
+ }
+
switch (dev_desc->if_type) {
case IF_TYPE_SCSI:
printf ("(%d:%d) Vendor: %s Prod.: %s Rev: %s\n",
--
1.6.0.6
More information about the U-Boot
mailing list