All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] [USB2] 2.6.0-test9-mm2 HiSpd Isoc 1024KB submits: -EMSGSIZE
@ 2003-11-17 23:53 John Heil
  2003-11-18  0:02 ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: John Heil @ 2003-11-17 23:53 UTC (permalink / raw)
  To: linux-kernel, torvalds; +Cc: John Heil


High speed isochronous URB submits fail w -EMSGSIZE when packet
size is 1024KB (which is permitted by the USB 2.0 Std).

Max Packet Size is conveyed to the host controller via the iTD's
Buffer Pointer Page 1 field, @ offset +0x28[10:0].

drivers/usb/core/urb.c: usb_submit_urb incorrectly scales this
value w an AND mask of 0x03ff while determining the count of
packets. usb/host/ehci-sched.c repeats the error.

This fix corrects the AND mask allowing 1024K packets to flow.


[root@localhost src]# less usb2-isoc-1024.patch
diff -Nru 2.6.0-t9-mm2.orig/drivers/usb/core/urb.c
2.6.0-t9-mm2/drivers/usb/core/urb.c
--- 2.6.0-t9-mm2.orig/drivers/usb/core/urb.c    2003-10-25
14:43:54.000000000 -0400
+++ 2.6.0-t9-mm2/drivers/usb/core/urb.c 2003-11-17 13:25:32.000000000
-0500
@@ -268,7 +268,7 @@
                /* "high bandwidth" mode, 1-3 packets/uframe? */
                if (dev->speed == USB_SPEED_HIGH) {
                        int     mult = 1 + ((max >> 11) & 0x03);
-                       max &= 0x03ff;
+                       max &= 0x07ff;
                        max *= mult;
                }

diff -Nru 2.6.0-t9-mm2.orig/drivers/usb/host/ehci-sched.c
2.6.0-t9-mm2/drivers/usb/host/ehci-sched.c
--- 2.6.0-t9-mm2.orig/drivers/usb/host/ehci-sched.c     2003-10-25
14:43:19.000000000 -0400
+++ 2.6.0-t9-mm2/drivers/usb/host/ehci-sched.c  2003-11-17
13:27:08.000000000 -0500
@@ -580,10 +580,10 @@
                maxp = urb->dev->epmaxpacketout [epnum];
                buf1 = 0;
        }
-       buf1 |= (maxp & 0x03ff);
+       buf1 |= (maxp & 0x07ff);
        multi = 1;
        multi += (maxp >> 11) & 0x03;
-       maxp &= 0x03ff;
+       maxp &= 0x07ff;
        maxp *= multi;

        /* transfer can't fit in any uframe? */



-
-----------------------------------------------------------------
John Heil
South Coast Software
Custom systems software for UNIX and IBM MVS mainframes
1-714-774-6952
johnhscs@sc-software.com
http://www.sc-software.com
-----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] [USB2] 2.6.0-test9-mm2 HiSpd Isoc 1024KB submits: -EMSGSIZE
  2003-11-17 23:53 [PATCH] [USB2] 2.6.0-test9-mm2 HiSpd Isoc 1024KB submits: -EMSGSIZE John Heil
@ 2003-11-18  0:02 ` Greg KH
  2003-11-18  0:12   ` John Heil
  0 siblings, 1 reply; 3+ messages in thread
From: Greg KH @ 2003-11-18  0:02 UTC (permalink / raw)
  To: John Heil; +Cc: linux-kernel, torvalds, John Heil

On Mon, Nov 17, 2003 at 03:53:19PM -0800, John Heil wrote:
> 
> High speed isochronous URB submits fail w -EMSGSIZE when packet
> size is 1024KB (which is permitted by the USB 2.0 Std).

Nice, what kind of usb 2.0 iso device do you have that needs this?  The
linux usb developers would really like some of these so they could test
:)

Anyway, try sending this patch to the EHCI maintainer, and the
linux-usb-devel mailing list, they can better address this patch.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] [USB2] 2.6.0-test9-mm2 HiSpd Isoc 1024KB submits: -EMSGSIZE
  2003-11-18  0:02 ` Greg KH
@ 2003-11-18  0:12   ` John Heil
  0 siblings, 0 replies; 3+ messages in thread
From: John Heil @ 2003-11-18  0:12 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel, torvalds, John Heil

On Mon, 17 Nov 2003, Greg KH wrote:

> Date: Mon, 17 Nov 2003 16:02:14 -0800
> From: Greg KH <greg@kroah.com>
> To: John Heil <kerndev@sc-software.com>
> Cc: linux-kernel@vger.kernel.org, torvalds@osdl.org,
>      John Heil <johnhscs@scsoftware.sc-software.com>
> Subject: Re: [PATCH] [USB2] 2.6.0-test9-mm2 HiSpd Isoc 1024KB submits:
>     -EMSGSIZE
>
> On Mon, Nov 17, 2003 at 03:53:19PM -0800, John Heil wrote:
> >
> > High speed isochronous URB submits fail w -EMSGSIZE when packet
> > size is 1024KB (which is permitted by the USB 2.0 Std).
>
> Nice, what kind of usb 2.0 iso device do you have that needs this?  The
> linux usb developers would really like some of these so they could test
> :)

Custom video for US Army Land Warrior system

> Anyway, try sending this patch to the EHCI maintainer, and the
> linux-usb-devel mailing list, they can better address this patch.
>
> thanks,
>
> greg k-h
>

-
-----------------------------------------------------------------
John Heil
South Coast Software
Custom systems software for UNIX and IBM MVS mainframes
1-714-774-6952
johnhscs@sc-software.com
http://www.sc-software.com
-----------------------------------------------------------------


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-11-18  0:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-17 23:53 [PATCH] [USB2] 2.6.0-test9-mm2 HiSpd Isoc 1024KB submits: -EMSGSIZE John Heil
2003-11-18  0:02 ` Greg KH
2003-11-18  0:12   ` John Heil

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.