Date: Thu, 19 Oct 2006 01:15:59 +0000 (UTC) From: Ian Dowse <iedowse@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/usb ehci.c if_axe.c if_udav.c if_ural.c ohci.c uhci.c usb.c usbdi.h Message-ID: <200610190115.k9J1FxoE072406@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
iedowse 2006-10-19 01:15:59 UTC FreeBSD src repository Modified files: sys/dev/usb ehci.c if_axe.c if_udav.c if_ural.c ohci.c uhci.c usb.c usbdi.h Log: Use a different task queue for host controller and peripheral driver tasks. Since the host controllers rely on tasks to process transfer timeouts, if a synchronous transfer from a driver was invoked from a task and timed out, it would never complete because the single task thread was stuck performing the synchronous transfer so couldn't process the timeout. This affected the axe, udav and ural drivers. Problem hardware provided by: guido Revision Changes Path 1.52 +2 -1 src/sys/dev/usb/ehci.c 1.41 +1 -1 src/sys/dev/usb/if_axe.c 1.24 +2 -2 src/sys/dev/usb/if_udav.c 1.47 +1 -1 src/sys/dev/usb/if_ural.c 1.167 +2 -1 src/sys/dev/usb/ohci.c 1.172 +2 -1 src/sys/dev/usb/uhci.c 1.111 +57 -29 src/sys/dev/usb/usb.c 1.61 +7 -3 src/sys/dev/usb/usbdi.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610190115.k9J1FxoE072406>