• Alan Stern's avatar
    [PATCH] USB UHCI: Fix up loose ends · 4daaa87c
    Alan Stern authored
    This patch tidies up a few loose ends left by the preceding patches.
    It indicates the controller supports remote wakeup whenever the PM
    capability is present -- which shouldn't cause any harm if the
    assumption turns out to be wrong.  It refuses to suspend the
    controller if the root hub is still active, and it refuses to resume
    the root hub if the controller is suspended.  It adds checks for a
    dead controller in several spots, and it adds memory barriers as
    needed to insure that I/O operations are completed before moving on.
    
    Actually I'm not certain the last part is being done correctly.  With
    code like this:
    
    	outw(..., ...);
    	mb();
    	udelay(5);
    
    do we know for certain that the outw() will complete _before_ the
    delay begins?  If not, how should this be written?
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    4daaa87c
uhci-hcd.c 26.1 KB