]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r199058
authorthompsa <thompsa@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Nov 2009 01:33:06 +0000 (01:33 +0000)
committerthompsa <thompsa@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Nov 2009 01:33:06 +0000 (01:33 +0000)
commit82e384f95e5a0bdd34e0c6f032db5ecbc562303b
treeb0ceff7e4117c3fdfdd35325c27ecbca6d3704d2
parenta6e012903bf8af7745b81e3a553db1be6109e8c1
MFC r199058

 Integrate lost interrupts patch from the old USB stack.

 Some EHCI chips from VIA / ATI seem to trigger interrupts before writing back
 the qTD status, or miss signalling occasionally under heavy load.  If the host
 machine is too fast, we can miss transaction completion - when we scan the
 active list the transaction still seems to be active. This generally exhibits
 itself as a umass stall that never recovers.

 We work around this behaviour by setting up this callback after any softintr
 that completes with transactions still pending, giving us another chance to
 check for completion after the writeback has taken place

Submitted by: Alexander Nedotsuko

git-svn-id: svn://svn.freebsd.org/base/stable/8@199166 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/usb/controller/ehci.c
sys/dev/usb/controller/ehci.h
sys/dev/usb/controller/ehci_pci.c