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

Reply via email to