Date: Tue, 2 Apr 2002 18:33:35 -0800 (PST) From: Yuri Victorovich <yuri@tsoft.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/36682: USB isochroneous transfer doesn't report back lengths of short transfers Message-ID: <200204030233.g332XZ394590@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 36682 >Category: kern >Synopsis: USB isochroneous transfer doesn't report back lengths of short transfers >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Apr 02 18:40:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Yuri Victorovich >Release: STABLE 4.5 >Organization: Optima Inc >Environment: FreeBSD mach1.xxx.com 4.5-STABLE FreeBSD 4.5-STABLE #8: Tue Apr 2 18:48:53 EST 2002 root@sunflower.syrec.org:/usr/src/sys/compile/GENERIC i386 >Description: When isochroneous read transfer is submitted with a lot of segments there are some devices that don't fill the buffers completely and return short transfer. Driver issuing transfer should always be interested in actual length of each individual buffer read. Currently system lacks this capability. >How-To-Repeat: N/A >Fix: *** uhci.c Tue Apr 2 18:43:59 2002 --- uhci.c Tue Apr 2 18:45:02 2002 *************** *** 1104,1109 **** --- 1104,1110 ---- n = 0; status = LE(std->td.td_status); actlen += UHCI_TD_GET_ACTLEN(status); + xfer->frlengths[i] = UHCI_TD_GET_ACTLEN(status); } upipe->u.iso.inuse -= nframes; xfer->actlen = actlen; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204030233.g332XZ394590>