]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
When changing the device address and max packet size in usbd_new_device(),
authoriedowse <iedowse@FreeBSD.org>
Tue, 3 Oct 2006 01:13:26 +0000 (01:13 +0000)
committeriedowse <iedowse@FreeBSD.org>
Tue, 3 Oct 2006 01:13:26 +0000 (01:13 +0000)
commit46a11df83f185c8912cfb74fd035093a0c59cbb0
treee7e61920a2025aff8028ac2d90ee3d6334f442a8
parent2698dd58d9e2d00e21dedd1f4638404fcced536a
When changing the device address and max packet size in usbd_new_device(),
close and re-open the default pipe instead of relying on the host
controller driver to notice the changes. Remove the unreliable code
that attempted to update these fields while the pipe was active.
This fixes a case where the hardware could cache and continue to
use the old address, resulting in a "getting first desc failed"
error.

PR: usb/103167
sys/dev/usb/ehci.c
sys/dev/usb/ohci.c
sys/dev/usb/usb_subr.c