• Alan Stern's avatar
    USB: EHCI: update toggle state for linked QHs · a455212d
    Alan Stern authored
    This is an update to the "usb-ehci-update-toggle-state-for-linked-qhs"
    patch.  Since an HCD's endpoint_reset method can be called in
    interrupt context, it mustn't assume that interrupts are enabled or
    that it can sleep.
    
    So we revert to the original way of refreshing QHs' toggle bits.  Now
    the endpoint_reset method merely clears the toggle flag in the device
    structure (as was done before) and starts an async QH unlink.  When the
    QH is linked again, after the unlink finishes and an URB is queued,
    the qh_refresh() routine will update the QH's toggle bit.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Tested-by: default avatarDavid <david@unsolicited.net>
    CC: David Brownell <david-b@pacbell.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    
    a455212d
ehci-hcd.c 33.2 KB