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
