On Wed, May 01, 2002, Olaf Hering <[EMAIL PROTECTED]> wrote: > On Wed, May 01, Johannes Erdfelt wrote: > > Could you tell me exactly how this version differs from -pre7? > > Al still working version of pre7 would look like that: > diff -urNX exclude linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.c >linux-2.4.19-pre7-ide/drivers/usb/uhci.c > --- linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.c Wed May 1 11:59:40 2002 > +++ linux-2.4.19-pre7-ide/drivers/usb/uhci.c Wed May 1 16:26:34 2002 > @@ -2733,7 +2733,9 @@ > /* or broken setup */ > reset_hc(uhci); > > +#if 0 > uhci->fsbr = 0; > +#endif > uhci->fsbrtimeout = 0; > > uhci->is_suspended = 0; > diff -urNX exclude linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.h >linux-2.4.19-pre7-ide/drivers/usb/uhci.h > --- linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.h Wed May 1 11:59:40 2002 > +++ linux-2.4.19-pre7-ide/drivers/usb/uhci.h Wed May 1 16:06:19 2002 > @@ -308,6 +308,8 @@ > > spinlock_t frame_list_lock; > struct uhci_frame_list *fl; /* P: uhci->frame_list_lock */ > + char *foo1; > + char *foo2; > int fsbr; /* Full speed bandwidth reclamation >*/ > unsigned long fsbrtimeout; /* FSBR delay */ > int is_suspended;
Please set fsbr to something. Just not setting it at all is going to guarantee you get sporadic results. > And a not working version would look like that: > > diff -urNX exclude linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.c >linux-2.4.19-pre7-ide/drivers/usb/uhci.c > --- linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.c Wed May 1 11:59:40 2002 > +++ linux-2.4.19-pre7-ide/drivers/usb/uhci.c Wed May 1 16:26:34 2002 > @@ -2733,7 +2733,9 @@ > /* or broken setup */ > reset_hc(uhci); > > +#if 0 > uhci->fsbr = 0; > +#endif > uhci->fsbrtimeout = 0; > > uhci->is_suspended = 0; > diff -urNX exclude linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.h >linux-2.4.19-pre7-ide/drivers/usb/uhci.h > --- linux-2.4.19-pre7-ide.orig/drivers/usb/uhci.h Wed May 1 11:59:40 2002 > +++ linux-2.4.19-pre7-ide/drivers/usb/uhci.h Wed May 1 18:35:27 2002 > @@ -308,7 +308,9 @@ > > spinlock_t frame_list_lock; > struct uhci_frame_list *fl; /* P: uhci->frame_list_lock */ > + char *foo1; > int fsbr; /* Full speed bandwidth reclamation >*/ > + char *foo2; > unsigned long fsbrtimeout; /* FSBR delay */ > int is_suspended; Same thing here. You don't have to set it to 0 to test with, but please set it to something :) > > > So, something does touch fsbr. memcorruption somewhere? > > > > Well, fsbr needs to start at 0. If we don't initialize it, it'll be a > > random value. If it's random, we'll never end up turning on FSBR and > > things will work very slowly. > > I do not say thats a correct fix, but it does work for me. > > I just found that pre7 + the hack works better when CONFIG_USB_BANDWIDTH > is set, but I have to test more now. If it does, you are having some serious problems. CONFIG_USB_BANDWIDTH only tracks bandwidth usage and makes sure you don't use too much. It's very unlikely you'll get transfers failing midway like you've seen. It would fail up front with a different error. JE _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
