hi,
one of the changes introduced from 2.5.2 to 2.5.3 in uhci.c broke
the ipaq usb driver. I'm not very sure what's happening, but it seems to
"lose" packets. I've narrowed it down to the following patchlet:
--- /usr/src/linux-2.5/drivers/usb/uhci.c Tue Jan 15 17:40:16 2002
+++ usb-2.5-working/drivers/usb/uhci.c.ORG Fri Feb 1 21:43:54 2002
@@ -1683,8 +1689,8 @@
/* Control and Isochronous ignore the toggle, so this */
/* is safe for all types */
- if (!(td->status & TD_CTRL_ACTIVE) &&
- (uhci_actual_length(td->status) < uhci_expected_length(td->info) ||
+ if ((!(td->status & TD_CTRL_ACTIVE) &&
+ (uhci_actual_length(td->status) < uhci_expected_length(td->info))
+||
tmp == head)) {
usb_settoggle(urb->dev, uhci_endpoint(td->info),
uhci_packetout(td->info),
on reverting this, it works as in 2.5.2.
I'm not too aware of uhci internals so I can't pinpoint the problem exactly.
but the code looks suspicious - there are redundant parentheses and it causes
a gcc warning.
btw the speed is still very slow as compared to the redhat 7.2 kernel 2.4.7-10
2.4.7-10 2.5.x
ipaq->linux 113kbytes/sec 13.8kbytes/sec
linux->ipaq 73kbytes/sec 56.8kbytes/sec
numbers taken by ftp of a 1 meg file.
thanks,
ganesh
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel