diff options
| author | Wolfgang Denk <wd@denx.de> | 2009-05-15 09:27:58 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2009-05-15 22:30:13 +0200 | 
| commit | af75a45d23b72a59ac5cc0427696c7f634fdc94b (patch) | |
| tree | 10d3c53cc4941dd26fd5a655e89e012fd10bc5f5 | |
| parent | c21f62d8483fbab44cd98d93ff2e9355a330d225 (diff) | |
| download | olio-uboot-2014.01-af75a45d23b72a59ac5cc0427696c7f634fdc94b.tar.xz olio-uboot-2014.01-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>
| -rw-r--r-- | disk/part.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/disk/part.c b/disk/part.c index c7774930b..b92fb45b8 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", |