• David Brownell's avatar
    [PATCH] rm "automagic resubmit" for usb interrupt transfers · e9c72b55
    David Brownell authored
    Here's that promised patch to remove the problematic "automagic
    resubmit" mode from the API for interrupt transfers.  It covers
    the core (including main HCDs) and a few essential drivers.
    
    All urbs now obey a simple rule:  submit them once, then wait for
    some completion callback.  Or unlink the urb if you're impatient,
    canceling the i/o request (which may have been partially completed).
    Bulk and interrupt transfers now behave the same at the API level,
    except that only interrupt transfers have bandwidth failure modes.
    
    
    Previously, interrupt transfers were different from bulk transfers
    in several ways that made limited sense.  The only thing that's
    supposed to be special is achieving service latency guarantees by
    using the reserved periodic bandwidth.
    
    But there were a lot of other restrictions, plus HCD-dependent
    behaviors/bugs.  Doing something like sending a 97 byte message
    to a device portably was a thing of pain, since the low-level
    "one pac...
    e9c72b55
usbmouse.c 6.69 KB