diff options
author | hselasky <hselasky@FreeBSD.org> | 2011-04-26 18:50:35 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2011-04-26 18:50:35 +0000 |
commit | 41353bc8d6c7e885b19e2b84379c8f5b90003f70 (patch) | |
tree | 96e784ead5c6be6f12920fd1cabb7da6cd0193ea | |
parent | 519a30551e314539bf947c982c6407ccfa2a1fc7 (diff) | |
download | FreeBSD-src-41353bc8d6c7e885b19e2b84379c8f5b90003f70.zip FreeBSD-src-41353bc8d6c7e885b19e2b84379c8f5b90003f70.tar.gz |
Fix for missing EHCI datatoggle change case.
Reported by: Mike Tancsa
MFC after: 3 days
Approved by: thompsa (mentor)
-rw-r--r-- | sys/dev/usb/controller/ehci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/usb/controller/ehci.c b/sys/dev/usb/controller/ehci.c index 8dcffa2..b7cd3cd 100644 --- a/sys/dev/usb/controller/ehci.c +++ b/sys/dev/usb/controller/ehci.c @@ -1196,6 +1196,8 @@ ehci_data_toggle_update(struct usb_xfer *xfer, uint16_t actlen, uint16_t xlen) dt ^= 1; /* short packet at the end */ else if (actlen != xlen) dt ^= 1; /* zero length packet at the end */ + else if (xlen == 0) + dt ^= 1; /* zero length transfer */ xfer->endpoint->toggle_next ^= dt; } |