-
David Brownell authored
This ought to address a number of the problems with the recent "dummy td" update as well as some older ones: - Slims down the qh_append_tds() to remove two pairs of "should be duplicate" logic so that * qh_make() only creates and initializes; * qh_append_tds() calls it earlier; * always appends with dummy, no routine qh updates. - Reworked qh_completions() ... simpler, better. * two notable FIXMEs gone, and a bug related to how they interacted with scatterlist i/o * fixed bugs (including one oops) exposed by using dummies more. Passes basic testing: most 'usbtest' cases, usb2 hub with keyboard and CF adapter, storage enumeration. So it seems less troublesome, though it's still not as happy as I've seen it. However, "testusb -at12" (running 'write unlink' tests) still fails for me, and usb-storage gets unhappy when it decides (why? and unsuccessfully) to reset high speed devices. I'm still chasing those problems, which seem to come from higher up in the stack.
30a03849