• Sarah Sharp's avatar
    USB: xhci: Handle short control packets correctly. · 62889610
    Sarah Sharp authored
    When there is a short packet on a control transfer, the xHCI host controller
    hardware will generate two events.  The first event will be for the data stage
    TD with a completion code for a short packet.  The second event will be for the
    status stage with a successful completion code.  Before this patch, the xHCI
    driver would giveback the short control URB when it received the event for the
    data stage TD.  Then it would become confused when it saw a status stage event
    for the endpoint for an URB it had already finished processing.
    
    Change the xHCI host controller driver to wait for the status stage event when
    it receives a short transfer completion code for a data stage TD.
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    62889610
xhci-ring.c 53.3 KB