• Alan Stern's avatar
    USB: EHCI: fix handling of unusual interrupt intervals · 1b9a38bf
    Alan Stern authored
    This patch (as1320) fixes two problems related to interrupt-URB
    scheduling in ehci-hcd.
    
    	URBs with an interval of 2 or 4 microframes aren't handled.
    	For the time being, the patch reduces to interval to 1 uframe.
    
    	URBs are constrained to have an interval no larger than 1024
    	frames by usb_submit_urb().  But some EHCI controllers allow
    	use of a schedule as short as 256 frames; for these
    	controllers we may have to decrease the interval to the
    	actual schedule length.
    
    The second problem isn't very significant since few devices expose
    interrupt endpoints with an interval larger than 256 frames.  But the
    first problem is critical; it will prevent the kernel from working
    with devices having interrupt intervals of 2 or 4 uframes.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Cc: stable <stable@kernel.org>
    Tested-by: default avatarGlynn Farrow <farrowg@sg.ibm.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    1b9a38bf
ehci-q.c 36.4 KB