[U-Boot] [PATCH] usb_storage: skip all unknown devices when probing

Soeren Moch smoch at web.de
Fri Nov 7 10:28:18 CET 2014


On 11/06/14 21:41, Marek Vasut wrote:
> On Thursday, November 06, 2014 at 01:51:51 PM, Soeren Moch wrote:
>> Not only skip storage devices with DEV_TYPE_UNKNOWN, but also all devices
>> which are unknown to u-boot (e.g., are not HARDDISK, TAPE, CDROM, OPDISK).
>>
>> This especially avoids long timeouts when probing for external usb
>> harddisks which provide "Enclosure Services".
>>
>> Signed-off-by: Soeren Moch <smoch at web.de>
>> --
>> Cc: Marek Vasut <marex at denx.de>
>> Cc: Tom Rini <trini at ti.com>
>> ---
>>   common/usb_storage.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/common/usb_storage.c b/common/usb_storage.c
>> index eb7706c..0ac7b48 100644
>> --- a/common/usb_storage.c
>> +++ b/common/usb_storage.c
>> @@ -1351,7 +1351,7 @@ int usb_stor_get_info(struct usb_device *dev, struct
>> us_data *ss, perq = usb_stor_buf[0];
>>   	modi = usb_stor_buf[1];
>>
>> -	if ((perq & 0x1f) == 0x1f) {
>> +	if ((perq & 0x1f) > DEV_TYPE_OPDISK) {
>
> Why can't you just blacklist 0xd instead ? I mean, this patch would do a bulk
> blacklisting of all the obscure devices with peripheral ID above 0x7, but might
> still work with this layer (like 0xc ... the RAID controller ; or 0xe ... the
> reduced block device).
>
> Won't it make sense to just selectively blacklist the 0xd ?

If you think it makes more sense to blacklist 0xd only, that is fine with me.
I will prepare a new patch for this.

Best regards,
Soeren Moch

>
>>   		/* skip unknown devices */
>>   		return 0;
>>   	}
>
> Best regards,
> Marek Vasut
>



More information about the U-Boot mailing list