From owner-freebsd-hackers@FreeBSD.ORG Wed May 11 08:00:30 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 86A8516A4D1 for ; Wed, 11 May 2005 08:00:30 +0000 (GMT) Received: from smtp.andrew.cmu.edu (smtp.andrew.cmu.edu [128.2.10.81]) by mx1.FreeBSD.org (Postfix) with ESMTP id DAB5B43D76 for ; Wed, 11 May 2005 08:00:29 +0000 (GMT) (envelope-from dga+@cs.cmu.edu) Received: from [192.168.15.50] (dsl093-060-134.pit1.dsl.speakeasy.net [66.93.60.134]) (user=dga2 mech=PLAIN (0 bits)) by smtp.andrew.cmu.edu (8.12.10/8.12.10) with ESMTP id j4B80TLG032119 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Wed, 11 May 2005 04:00:29 -0400 Mime-Version: 1.0 (Apple Message framework v622) Content-Transfer-Encoding: 7bit Message-Id: <90204a4c376919189910f8a570d65f48@cs.cmu.edu> Content-Type: text/plain; charset=US-ASCII; format=flowed To: freebsd-hackers@freebsd.org From: David Andersen Date: Wed, 11 May 2005 03:59:56 -0400 X-Mailer: Apple Mail (2.622) X-Mailman-Approved-At: Wed, 11 May 2005 12:39:13 +0000 Subject: Panic when removing Airprime PC5220 card (usb hub). X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 May 2005 08:00:30 -0000 I'm hacking up a quick and dirty driver for the AirPrime PC5220 (EVDO / 1xRTT) card, but I'm encountering a crash unrelated to my driver. The card is a pc card that presents itself as a USB hub with one device hanging off of it. Removing the card from the system causes a kernel panic. The backtrace looks something like: kobj_delete+0xb device_delete_child + 0x98 usb_disconnect_port + 0xf3 uhub_detach + 0x7a device_detach + 0x57 device_delete_child + 0x2b device_delete_child + 0x17 ohci_pci_detach + 0x85 device_detach + 0x57 cardbus_detach_card + 0x93 cbb_removal + 0x6f cbb_event_thread + 0xb6 fork_exit + 0x74 fork_trampoline() + 0x8 trap 0x1 eip = 0 esp = 0xedf66d6c (sorry for the poor formatting; I don't have serial debug support at the moment to copy-paste. :) If someone with more familiarity with the device framework looks at this and says, "ah! I know exactly what that bug is," I'd love it if you'd let me know so I can go back to the usb side of things. For my application, I'm actually quite content saying "don't remove the card," but I think that most users of this card are mobile, and would like to be able to disconnect it. (please CC: me; I'm not on the list any more). Thanks! -Dave