On Thu, 2 Sep 2004, Andy Heaton wrote:

> Hi,
> 
> I'm having a problem with the ISP116x driver, just wondered if anyone else 
> had come across this.
> 
> I connect a memory stick into the USB, and copy a large file (say 50MB) onto 
> it. Part way through the copy I unplug the memory stick. My system then 
> hangs. If I unplug the memory stick early in the copy it sometimes doesn't 
> happen, but it always happens if I leave it about 10s.

Are you copying the large file to the raw device, or are you mounting the 
device and copying the large file to a normal filesystem?

If you are mounting a filesystem for the copy, then why are you unplugging 
the device while it is still mounted?  It's not at all surprising that you 
end up with a nasty error.

> I'm almost certain the problem is caused by the ISP116x driver, but I'm
> completely stuck trying to work out where. When I unplug the memory stick I
> see a synchronous call to hci_unlink_urb, which does its job and returns.
> About 20s later I see an asynchronous call to the same function. Tracking
> back into the kernel, I can see the first call is originating in
> storage_disconnect (usb/storage/usb.c), and the second is coming from
> command_abort (usb/storage/scsiglue.c).

That pattern of unlinks doesn't make sense.  Once storage_disconnect has 
finished, command_abort should never be called.  (Of course, I'm basing 
this on a 2.4.27 kernel -- 2.4.22 might be different but I don't think 
so.)

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to