• Alan Stern's avatar
    [PATCH] USB: Dequeuing of root-hub URBs · 2d5e7603
    Alan Stern authored
    This patch fixes a tiny SMP-type hole in root-hub synchronization.
    Although the HCD glue layer properly unlinks root-hub status URBs
    synchronously, it doesn't do so for URBs sent to endpoint 0.  This patch
    copies some code from usb_kill_urb, to make such unlinks wait until the
    host controller driver has finished handling the URB.  This behavior is
    required for hcd_endpoint_disable to work correctly.
    
    The patch also renames usb_rh_status_dequeue to usb_rh_urb_dequeue (to
    better describe its updated function) and declares the routine static.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
    2d5e7603
hcd.h 13.4 KB