I try it again.

I also check the ohci driver. I think the current ohci driver
should be able to handle >4K buffers.

>From usb-ohci.c:

case PIPE_CONTROL: /* 1 TD for setup, 1 for ACK and 1 for every 4096 B */
        size = (urb->transfer_buffer_length == 0)? 2: 
                                (urb->transfer_buffer_length - 1) / 4096 + 3;
        break;

Then it will allocate "size" number of TDs.

Do I miss anything?

Thanks

Chris

===== devio.c 1.9 vs edited =====
--- 1.9/drivers/usb/devio.c     Thu Apr 18 05:34:31 2002
+++ edited/devio.c      Wed Feb  5 03:59:57 2003
@@ -800,7 +800,7 @@
                                return -EINVAL;
                }
                /* min 8 byte setup packet, max arbitrary */
-               if (uurb.buffer_length < 8 || uurb.buffer_length > PAGE_SIZE)
+               if (uurb.buffer_length < 8 || uurb.buffer_length > 64*1024)
                        return -EINVAL;
                if (!(dr = kmalloc(sizeof(devrequest), GFP_KERNEL)))
                        return -ENOMEM;


On Wed, Feb 05, 2003 at 10:54:22AM +0100, Oliver Neukum wrote:
> Am Dienstag, 4. Februar 2003 19:23 schrieb Christopher Li:
> > I just did the modify as you said and patch VMware as well.
> > And that scanner works fine now.
> >
> > Will you take this patch?
> 
> You need to ask Greg. But even if it were mine to decide, I wouldn't.
> If you want to test for 64K, do so. 16*PAGE_SIZE may be anything.
> 
>       Regards
>               OLiver
> 




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to