Here's some followup: 2009/3/21 Zoltan Devai <zdevai@xxxxxxxxx>: > I'm using an embedded system (IXP42x) with an ISP1563 HC, > with kernel 2.6.29-rc6. > When only the OHCI driver is loaded, the storage driver does not > recognise an attached high-speed or full-speed MSC device. The problem really seems to be that after the short read, the next urbs TD is completed with cc 3, but the HC doesn't generate any interrupt, so nothing happens until the storage driver cancels the request after 30 seconds. With this patch, everything goes well, but I doubt this is the correct way to solve it. --- ohci-q.c.orig 2009-02-23 05:19:40.000000000 +0100 +++ ohci-q.c 2009-03-23 11:25:25.000000000 +0100 @@ -795,6 +795,8 @@ wmb (); ed->hwHeadP &= ~cpu_to_hc32 (ohci, ED_H); + ed->hwHeadP ^= cpu_to_hc32 (ohci, ED_C); + /* Get rid of all later tds from this urb. We don't have * to be careful: no errors and nothing was transferred. * Also patch the ed so it looks as if those tds completed normally. Is it the HCs fault that is requires toggling of ED_C after the short read ? Do other HCs do it automatically, or simply don't require it ? Isn't the HC supposed to give an (WDH?) interrupt regardless of the cc ? Anyway, with this patch applied, data transfer still fails after some point with TDs returning cc 8. The EHCI controller seems to show similar problems, but I haven't debugged that yet. So, a more general question: Has anybody been using the ISP1563 with Linux ? Cheers, Zoltan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html