From owner-freebsd-usb@FreeBSD.ORG Thu May 12 15:54:50 2005 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 0DA8416A4D0 for ; Thu, 12 May 2005 15:54:50 +0000 (GMT) Received: from swip.net (mailfe07.swip.net [212.247.154.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id 169A043D86 for ; Thu, 12 May 2005 15:54:49 +0000 (GMT) (envelope-from hselasky@c2i.net) X-T2-Posting-ID: Y1QAsIk9O44SO+J/q9KNyQ== Received: from mp-216-47-40.daxnet.no ([193.216.47.40] verified) by mailfe07.swip.net (CommuniGate Pro SMTP 4.3c5) with ESMTP id 167235006; Thu, 12 May 2005 17:54:47 +0200 From: Hans Petter Selasky To: "M. Warner Losh" , usb@freebsd.org Date: Thu, 12 May 2005 17:55:32 +0200 User-Agent: KMail/1.7 References: <200505112228.49253.hselasky@c2i.net> <20050511.175830.58826830.imp@bsdimp.com> <200505121548.02651.hselasky@c2i.net> In-Reply-To: <200505121548.02651.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200505121755.32810.hselasky@c2i.net> Subject: Re: Panic when removing Airprime PC5220 card (usb hub). 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: Thu, 12 May 2005 15:54:50 -0000 On Thursday 12 May 2005 15:48, Hans Petter Selasky wrote: > On Thursday 12 May 2005 01:58, M. Warner Losh wrote: > > In message: <200505120058.51834.hselasky@c2i.net> > > > > Hans Petter Selasky writes: > > : On Wednesday 11 May 2005 22:33, Warner Losh wrote: Maybe something like this is better, so that memory doesn't leak. usb_disconnect_port(struct usbd_port *up, device_ptr_t parent, u_int8_t free_subdev) { ... #ifdef __FreeBSD__ config_detach(dev->subdevs[i], DETACH_FORCE, free_subdev); #else config_detach(dev->subdevs[i], DETACH_FORCE); #endif ... } #define config_detach(dev, flag, free_subdev) \ do { \ free(device_get_ivars(dev), M_USB); \ if(free_subdev) \ device_delete_child(device_get_parent(dev), dev); \ } while (0); --HPS