Re: [Linux-usb-users] [2.6.10-rc2] ehci_hcd causes oops after some use of usb harddisk

From: Jan De Luyck
Date: Mon Dec 13 2004 - 15:06:06 EST


On Tuesday 23 November 2004 22:02, Alan Stern wrote:
> On Tue, 23 Nov 2004, Jan De Luyck wrote:
> > On Tuesday 23 November 2004 20:39, Alan Stern wrote:
> > > Try the patch below and see if it helps.
> > >
> > > Alan Stern
> > >
> > >
> > > ===== drivers/usb/storage/transport.c 1.152 vs edited =====
> > > --- 1.152/drivers/usb/storage/transport.c 2004-11-14 19:41:07 -05:00
> > > +++ edited/drivers/usb/storage/transport.c 2004-11-23 14:37:40 -05:00
> > > @@ -987,7 +987,7 @@
> > > /* Genesys Logic interface chips need a 100us delay between the
> > > * command phase and the data phase */
> > > if (us->pusb_dev->descriptor.idVendor == USB_VENDOR_ID_GENESYS)
> > > - udelay(100);
> > > + udelay(200);
> > >
> > > if (transfer_length) {
> > > unsigned int pipe = srb->sc_data_direction == DMA_FROM_DEVICE ?
> >
> > Indeed, this solved my problems.
> >
> > Thanks a lot.
>
> Just out of curiosity, could you try using several different values in
> that udelay() statement? Maybe 200 is larger than necessary. If
> something like 110 would work just as well, then it would help improve the
> I/O speed.

Alan,

Sorry for the late answer, I've been rather busy of late. Today I had the time
to recompile and test the drive.

I'm currently using the drive with a udelay of 110, and it works without any
problems. The transfer speed is indeed higher than with the 200msec delay ;)

Hope this helps, maybe this can now be integrated into the main kernel so
people no longer have a problem with it :)

If you need more information, feel free to ask.

Jan

--
I learned to play guitar just to get the girls, and anyone who says they
didn't is just lyin'!
-- Willie Nelson
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/