• Alan Stern's avatar
    USB: UHCI: acquire spinlock before calling start_rh() · ba297edd
    Alan Stern authored
    This patch (as1392) fixes a bug in uhci-hcd: The start_rh() routine is
    supposed to be called with the private spinlock held.  If an IRQ comes
    in at just the wrong time, the driver will think the controller has
    died when in fact it simply hasn't start yet.
    
    The patch also addresses some issues that may prevent an URB from
    being unlinked after the controller has stopped.  This is an abnormal
    occurrence (ordinarily the controller stops only when the entire bus
    is suspended and hence there are no active URBs), so the pathways
    haven't gotten much testing.  These two changes may be a little more
    than is strictly necessary, but clearly they won't hurt.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    ba297edd
uhci-hcd.c 27.5 KB