[PATCH] ehci-hcd, use dummy td when queueing
What it does is give up on catching all the "race with HC" cases when appending to a live QH, by switching to using a disabled "dummy" TD at the end of all hardware queues. The HC won't cache disabled TDs, so it just sees "always good" pointers: no races. As a side benefit this also makes it safe to not irq on completion of most TDs that are queued using the scatterlist calls, so it'll be typical for one 64 KByte usb-storage request to mean just one irq (or less!) even without tuning ehci irq latency (for the DATA stage, that is).
Showing
Please register or sign in to comment