• Robert Sprowson's avatar
    Fix for stall clear stalling when called from umass · cda26511
    Robert Sprowson authored
    Since SCSISoftUSB relies on devices stalling (rather than doing a test unit ready), stalls occur when a card reader with no card present is queried.
    The port of umass ends up trying to add something to the control transfer queue, but enters with interrupts disabled, so the clear endpoint stall just times out having not done anything (other callers have interrupts enabled so do clear the stall).
    Apply change of policy that NetBSD made in revision 1.28.2.19 where the clear endpoint stall is cleared asynchronously rather than being left around until the next transfer is queued.
    Since we don't have threads on RISC OS, and callbacks wouldn't happen either, we schedule a one shot RTSupport to trigger the clear at CBAI level.
    Apply change from NetBSD 1.28.2.37 to remove the old clear code too.
    
    Version 0.11. Tagged as 'XHCIDriver-0_11'
    cda26511
xhci 90.9 KB