I see it now.

Thanks, I will give it another try on Mondays.

Chris


-----Original Message-----
From: David Brownell
To: Christopher Li
Cc: 'Greg KH'; 'Oliver Neukum '; [EMAIL PROTECTED]
Sent: 2/7/03 10:21 PM
Subject: Re: [linux-usb-devel] usbdevfs setup URB buffer size limit


>>Looks better ... except that I remembered there's another case
>>to worry about.  For short reads, consider:
>>The donelist handling would need to handle that; it's
>>got code to skip the rest of a bulk/intr data stage,
>>but not code to make sure the control status packet is
>>still queued.
> 
> 
> I think you are talking about 2.5 kernel. I can't find it
> in 2.4 kernel. My patch was against the 2.4 kernel.

You should study dl_reverse_done_list() harder!  Yes, there
is code in usb-ohci that's even more cryptic.  The code in
the 2.5 driver which does that is ed_halted() ... does not
quite the same thing though.  I think that comment captures
all the conditions for that particular nasty/rare case.


> Looks like this ohci short packet stuff is very tricky.

Easier if it's not control traffic.


> Is it possible to apply the patch for usbdevfs separately?
> If we don't aim for more than one data TD, we can still make
> that scanner work. The check for buffer size will become:
> 
> uurb.buffer_length > PAGE_SIZE + 8

That was my initial suggestion!


> Because there is 8 bytes of setup stage should not count in
> the data buffer. In this case, we support up to exactly
> one page of data buffer.
> 
> Any comment? It have gone that far, I really like to make this
> scanner work.

I'd agree usbfs control writes should allow "4096 + 8" bytes...

- Dave






-------------------------------------------------------
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