android_kernel_xiaomi_sm8350/drivers/usb/host
Alan Stern b40e43fcc5 USB: EHCI: fix bug in Iso scheduling
This patch (as1098) changes the way ehci-hcd schedules its periodic
Iso transfers.  That the current scheduling code is wrong is clear on
the face of it: Sometimes it returns -EL2NSYNC (meaning that an URB
couldn't be scheduled because it was submitted too late), but it does
this even when the URB_ISO_ASAP flag is set (meaning the URB should be
scheduled as soon as possible).

The new code properly implements as-soon-as-possible scheduling,
assigning the next unexpired slot as the URB's starting point.  It
also is more careful about checking for Iso URB completion: It doesn't
bother to check for activity during frames that are already over,
and it allows for the possibility that some of the URB's packets may
have raced the hardware when they were submitted and so never got used
(the packet status is set to -EXDEV).

This fixes problems several people have experienced with USB video
applications.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-05-29 13:59:04 -07:00
..
ehci-au1xxx.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-dbg.c drivers/usb annotations and fixes 2008-04-28 10:03:31 -07:00
ehci-fsl.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-fsl.h
ehci-hcd.c USB: ehci shutdown refactored 2008-04-24 21:16:49 -07:00
ehci-hub.c USB: EHCI: fix remote-wakeup regression 2008-05-29 13:59:04 -07:00
ehci-ixp4xx.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-mem.c
ehci-orion.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-pci.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-ppc-of.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-ppc-soc.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-ps3.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-q.c drivers/usb annotations and fixes 2008-04-28 10:03:31 -07:00
ehci-sched.c USB: EHCI: fix bug in Iso scheduling 2008-05-29 13:59:04 -07:00
ehci.h USB: EHCI: fix remote-wakeup regression 2008-05-29 13:59:04 -07:00
isp116x-hcd.c USB: HCDs use the do_remote_wakeup flag 2008-04-24 21:16:53 -07:00
isp116x.h USB: isp116x: fix enumeration on boot 2008-03-04 14:57:43 -08:00
isp1760-hcd.c USB: isp1760: fix printk format 2008-05-14 10:00:26 -07:00
isp1760-hcd.h USB: ISP1760 HCD driver 2008-05-02 10:25:50 -07:00
isp1760-if.c usb: fix compile warning in isp1760 2008-05-14 10:00:28 -07:00
Kconfig usb: Sparc build fix, make USB_ISP1760_OF depend on PPC_OF 2008-05-06 15:15:12 -07:00
Makefile USB: ISP1760 HCD driver 2008-05-02 10:25:50 -07:00
ohci-at91.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-au1xxx.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-dbg.c USB: remove dev->power.power_state 2008-04-24 21:16:41 -07:00
ohci-ep93xx.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-hcd.c USB: ohci: fix 2 timers to fire at jiffies + 1s 2008-04-02 15:06:09 -07:00
ohci-hub.c USB: OHCI: work around bogus compiler warning 2008-05-02 10:25:57 -07:00
ohci-lh7a404.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-mem.c
ohci-omap.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-pci.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-pnx4008.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-pnx8550.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-ppc-of.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-ppc-soc.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-ps3.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-pxa27x.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-q.c USB: ohci: fix 2 timers to fire at jiffies + 1s 2008-04-02 15:06:09 -07:00
ohci-s3c2410.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-sa1111.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-sh.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci-sm501.c usb: fix integer as NULL pointer warnings found by sparse 2008-05-14 10:00:26 -07:00
ohci-ssb.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
ohci.h
pci-quirks.c USB: replace remaining __FUNCTION__ occurrences 2008-04-24 21:16:55 -07:00
pci-quirks.h
r8a66597-hcd.c drivers/usb annotations and fixes 2008-04-28 10:03:31 -07:00
r8a66597.h USB: r8a66597-hcd: Add support for SH7366 USB host 2008-04-24 21:16:49 -07:00
sl811_cs.c
sl811-hcd.c usb: use non-racy method for proc entries creation 2008-04-29 08:06:21 -07:00
sl811.h
u132-hcd.c USB: don't explicitly reenable root-hub status interrupts 2008-04-24 21:16:53 -07:00
uhci-debug.c
uhci-hcd.c USB: UHCI: disable remote wakeup when it's not needed 2008-05-02 10:25:57 -07:00
uhci-hcd.h USB: UHCI: disable remote wakeup when it's not needed 2008-05-02 10:25:57 -07:00
uhci-hub.c
uhci-q.c USB: replace remaining __FUNCTION__ occurrences 2008-04-24 21:16:55 -07:00