summaryrefslogtreecommitdiff
path: root/disk/part.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2009-05-15 09:27:58 +0200
committerWolfgang Denk <wd@denx.de>2009-05-15 22:30:13 +0200
commitaf75a45d23b72a59ac5cc0427696c7f634fdc94b (patch)
tree10d3c53cc4941dd26fd5a655e89e012fd10bc5f5 /disk/part.c
parentc21f62d8483fbab44cd98d93ff2e9355a330d225 (diff)
downloadu-boot-af75a45d23b72a59ac5cc0427696c7f634fdc94b.tar.gz
u-boot-af75a45d23b72a59ac5cc0427696c7f634fdc94b.tar.bz2
u-boot-af75a45d23b72a59ac5cc0427696c7f634fdc94b.zip
IDE: bail out of dev_print() for unknown device types
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> Tested-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'disk/part.c')
-rw-r--r--disk/part.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/disk/part.c b/disk/part.c
index c7774930b8..b92fb45b86 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",