
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@denx.de Cc: Stefan Roese sr@denx.de Cc: Detlev Zundel dzu@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",