From owner-freebsd-usb@FreeBSD.ORG Mon Dec 27 11:42:21 2004 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C998E16A4CE for ; Mon, 27 Dec 2004 11:42:21 +0000 (GMT) Received: from mailfe01.swip.net (mailfe01.swip.net [212.247.154.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04EC443D41 for ; Mon, 27 Dec 2004 11:42:21 +0000 (GMT) (envelope-from hselasky@c2i.net) X-T2-Posting-ID: gvlK0tOCzrqh9CPROFOFPw== Received: from mp-216-52-16.daxnet.no ([193.216.52.16] verified) by mailfe01.swip.net (CommuniGate Pro SMTP 4.2.7) with ESMTP id 252482022 for freebsd-usb@freebsd.org; Mon, 27 Dec 2004 12:42:19 +0100 From: Hans Petter Selasky To: freebsd-usb@freebsd.org Date: Mon, 27 Dec 2004 12:42:42 +0100 User-Agent: KMail/1.7 References: <41CB38A7.5020700@vicor.com> <200412261747.36555.hselasky@c2i.net> <41CFB6AE.1080705@elischer.org> In-Reply-To: <41CFB6AE.1080705@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200412271242.43441.hselasky@c2i.net> Subject: Re: USB vendore designations.. X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: hselasky@c2i.net List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Dec 2004 11:42:22 -0000 On Monday 27 December 2004 08:15, Julian Elischer wrote: > Now, when you do the "doobell trick" as descibed in the spec, > there is one little part of it.. that is the catch. > > The spec says: > "Software should first deactivate all active qTDs, wait for the > queue head to go inactive, then remove the queue head from > the asynchronous list." > > Note the word "all" > > Ok, so since we want to remove only SOME of the qTDs from the queue > (those corresponding to the aborting command), and we need to read > the status word to see which has been completed by whether the > active bit is set, and since we are in a race with the hardware > to clear the active bit, which of the qTDs, not in the list of > qTDs we want to remove, was completed? > Maybe the EHCI driver should not reuse the QH's for transfers on the same pipe, but instead like I did, have one QH for each transfer, insterted into the asynchronous schedule after that the last QH has been removed? Yours --HPS