disconnect() and probe() should be simulated only when
usb_reset_device() result was successful, as it is done now.
The only change is that scsi layer now allowed to make later one more
attempt to perform the request.
Yuri
Alan Stern wrote:
>On Fri, 27 Sep 2002, Yuri Per wrote:
>
>
>
>>Failed usb_reset_device() means only that reset is not yet completed.
>>
>>
>
>This is not so. There are several possible error returns from
>usb_reset_device() that can occur even before the reset has been
>initiated. Furthermore, it's possible that the reset, once started, will
>never complete because the device is hung.
>
>
>
>>If we will return success from bus_reset(), scsi layer will wait for 5
>>seconds during which device will probably reconnect.
>>
>>--- a/drivers/usb/storage/scsiglue.c Fri Sep 27 18:20:19 2002
>>+++ b/drivers/usb/storage/scsiglue.c Fri Sep 27 18:20:19 2002
>>@@ -243,7 +243,7 @@
>> US_DEBUGP("usb_reset_device returns %d\n", result);
>> if (result < 0) {
>> scsi_lock(srb->host);
>>- return FAILED;
>>+ return SUCCESS;
>> }
>>
>> /* FIXME: This needs to lock out driver probing while it's working
>>
>>
>
>Making this change would violate the instructions given at the start of
>the usb_reset_device() function:
>
>/*
> * WARNING - If a driver calls usb_reset_device, you should simulate a
> * disconnect() and probe() for other interfaces you doesn't claim. This
> * is left up to the driver writer right now. This insures other drivers
> * have a chance to re-setup their interface.
> *
> * Take a look at proc_resetdevice in devio.c for some sample code to
> * do this.
> */
>
>
>Alan Stern
>
>
>
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel