• Alan Stern's avatar
    [PATCH] USB: Remove unneeded and error-provoking variable in UHCI · a0afbda3
    Alan Stern authored
    This patch removes an unneeded "status" field from the UHCI driver's
    URB-private data structure.  The driver had been storing the status of
    completed URBs there rather than in the URBs themselves.  This not only is
    wasteful of space but is also a cause of bugs, since the USB core relies
    on urb->status for proper synchronization with the driver.
    
    The patch also takes care of a number of small things that have been
    bugging me for ages:
    
    	Close a small loophole by allowing an URB to be unlinked even
    	before the uhci_urb_enqueue() procedure has started.
    
    	Remove some fossil code from back when interrupt URBs were
    	automagically resubmitted.
    
    	Giveback unlinked URBs in the order they were unlinked.
    
    	Don't set urb->status for dequeued URBs; the core has already
    	set it for us.
    
    	Rename uhci_remove_pending_qhs to uhci_remove_pending_urbps.
    	(That has _really_ bothered me!)
    a0afbda3
uhci-hcd.c 64 KB