[U-Boot] [PATCH] cmd_ide: Fix detection problem with missing devices

Wolfgang Denk wd at denx.de
Thu May 14 15:44:01 CEST 2009


Dear Stefan Roese,

In message <1242278687-23685-1-git-send-email-sr at denx.de> you wrote:
> Currently only IDE busses are probed and all possible available devices
> are listed in the IDE bootup log. Even when devices on the bus are not
> available. This leads to the following output on the CPCI750:
> 
> IDE:   Bus 0: OK Bus 1: OK
>   Device 0: Model: HITACHI_DK23FA-20J Firm: 00M7A0A0 Ser#: 42D182
>             Type: Hard Disk
>             Capacity: 19077.1 MB = 18.6 GB (39070080 x 512)
>   Device 1: Model:  Firm:  Ser#:
>             Type: # 1F #
>             Capacity: not available
>   Device 2: Model: SanDisk SDCFB-128 Firm: vde 1.10 Ser#: gmo5i311404
>             Type: Removable Hard Disk
>             Capacity: 122.5 MB = 0.1 GB (250880 x 512)
>   Device 3: Model:  Firm:  Ser#:
>             Type: # 1F #
>             Capacity: not available

If my understanding is correct, then this is a bug on your hardware.

>  #endif
> @@ -727,8 +728,12 @@ skip_bus:
>  		if (!ide_bus_ok[IDE_BUS(i)])
>  			continue;
>  		ide_led(led, 1);	/* LED on       */
> -		ide_ident(&ide_dev_desc[i]);
> +		ret = ide_ident(&ide_dev_desc[i]);
>  		ide_led(led, 0);	/* LED off      */
> +		if (ret < 0) {
> +			puts("not available\n");
> +			continue;
> +		}

IIRC this should not be needed; normally, ide_bus_ok() should catch
this.

Best regards,

Wolfgang Denk

-- 
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
...when fits of creativity run strong, more than  one  programmer  or
writer  has  been  known to abandon the desktop for the more spacious
floor.                                             - Fred Brooks, Jr.


More information about the U-Boot mailing list