• David Brownell's avatar
    [PATCH] ehci-hcd, use dummy td when queueing · 2905be5d
    David Brownell authored
    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).
    2905be5d
ehci-hcd.c 26.9 KB