From owner-cvs-src-old@FreeBSD.ORG Mon Sep 28 07:02:14 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19D00106568B for ; Mon, 28 Sep 2009 07:02:14 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0734E8FC0A for ; Mon, 28 Sep 2009 07:02:14 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8S72Dd4033460 for ; Mon, 28 Sep 2009 07:02:13 GMT (envelope-from thompsa@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8S72D6t033459 for cvs-src-old@freebsd.org; Mon, 28 Sep 2009 07:02:13 GMT (envelope-from thompsa@repoman.freebsd.org) Message-Id: <200909280702.n8S72D6t033459@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to thompsa@repoman.freebsd.org using -f From: Andrew Thompson Date: Mon, 28 Sep 2009 07:01:54 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/usb usb_device.c usb_device.h usb_hub.c usb_transfer.c src/sys/dev/usb/controller usb_controller.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Sep 2009 07:02:14 -0000 thompsa 2009-09-28 07:01:54 UTC FreeBSD src repository Modified files: sys/dev/usb usb_device.c usb_device.h usb_hub.c usb_transfer.c sys/dev/usb/controller usb_controller.c Log: SVN rev 197553 on 2009-09-28 07:01:54Z by thompsa MFp4 @ 168387 - clean up USB detach logic. There seems to be some problems detaching multiple USB HUBs connected in series from the root. - after this patch the rule is: 1) Always use device_detach() on the USB HUB first. 2) Never just device_delete_child() on the USB HUB, because that function will traverse to all the device leaves and free them first, and then the USB stack will free the devices twice which doesn't work very well. - make sure the did DMA delay gets set after the timeout has elapsed to make logic more clear. There is no functional difference. Submitted by: Hans Petter Selasky Revision Changes Path 1.25 +2 -4 src/sys/dev/usb/controller/usb_controller.c 1.46 +13 -17 src/sys/dev/usb/usb_device.c 1.29 +0 -1 src/sys/dev/usb/usb_device.h 1.31 +41 -22 src/sys/dev/usb/usb_hub.c 1.30 +3 -3 src/sys/dev/usb/usb_transfer.c