From owner-cvs-src@FreeBSD.ORG Thu Dec 8 03:08:27 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5C37716A420; Thu, 8 Dec 2005 03:08:27 +0000 (GMT) (envelope-from iedowse@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C45843D83; Thu, 8 Dec 2005 03:08:23 +0000 (GMT) (envelope-from iedowse@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id jB838HL2025412; Thu, 8 Dec 2005 03:08:17 GMT (envelope-from iedowse@repoman.freebsd.org) Received: (from iedowse@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id jB838H4n025411; Thu, 8 Dec 2005 03:08:17 GMT (envelope-from iedowse) Message-Id: <200512080308.jB838H4n025411@repoman.freebsd.org> From: Ian Dowse Date: Thu, 8 Dec 2005 03:08:17 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/usb usbdi.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Dec 2005 03:08:27 -0000 iedowse 2005-12-08 03:08:17 UTC FreeBSD src repository Modified files: sys/dev/usb usbdi.c Log: Reorder the calling of the completion callback and the transfer "done" method so that for non-repeat operations we have completely finished with the transfer by the time the callback is invoked. This makes it possible to recycle a transfer from within the callback routine for the same transfer. Previously this almost worked, but with OHCI controllers calling the "done" method after the callback would zero out some important fields needed by the recycled transfer. Only some usb peripheral drivers such as ucom appear to rely on the ability to reuse a transfer from its callback. MFC after: 1 week Revision Changes Path 1.92 +14 -10 src/sys/dev/usb/usbdi.c