From owner-freebsd-bugs@FreeBSD.ORG Tue Sep 29 22:00:11 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1547106568F for ; Tue, 29 Sep 2009 22:00:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id BF2A78FC14 for ; Tue, 29 Sep 2009 22:00:11 +0000 (UTC) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n8TM0BuQ062141 for ; Tue, 29 Sep 2009 22:00:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n8TM0BqL062140; Tue, 29 Sep 2009 22:00:11 GMT (envelope-from gnats) Resent-Date: Tue, 29 Sep 2009 22:00:11 GMT Resent-Message-Id: <200909292200.n8TM0BqL062140@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ben Jackson Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA423106566B for ; Tue, 29 Sep 2009 21:53:44 +0000 (UTC) (envelope-from ben@ben.com) Received: from kronos.home.ben.com (kronos.home.ben.com [71.117.242.19]) by mx1.freebsd.org (Postfix) with ESMTP id 8EA238FC14 for ; Tue, 29 Sep 2009 21:53:43 +0000 (UTC) Received: from kronos.home.ben.com (localhost [127.0.0.1]) by kronos.home.ben.com (8.14.3/8.14.3) with ESMTP id n8TLDmbK003956 for ; Tue, 29 Sep 2009 14:13:48 -0700 (PDT) Received: (from bjj@localhost) by kronos.home.ben.com (8.14.3/8.14.3/Submit) id n8TLDl1W003955; Tue, 29 Sep 2009 14:13:47 -0700 (PDT) (envelope-from bjj) Message-Id: <200909292113.n8TLDl1W003955@kronos.home.ben.com> Date: Tue, 29 Sep 2009 14:13:47 -0700 (PDT) From: Ben Jackson To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/139243: unplug prolific USB serial -> uhci_abort_xfer: not in process context X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Ben Jackson List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Sep 2009 22:00:12 -0000 >Number: 139243 >Category: kern >Synopsis: unplug prolific USB serial -> uhci_abort_xfer: not in process context >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Sep 29 22:00:11 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Ben Jackson >Release: FreeBSD 7.2-STABLE amd64 >Organization: >Environment: System: FreeBSD kronos.home.ben.com 7.2-STABLE FreeBSD 7.2-STABLE #2: Tue Sep 15 22:53:16 PDT 2009 bjj@kronos.home.ben.com:/usr/obj/usr/src/sys/GENERIC amd64 Built from source on the day of the csup >Description: I have been using a Prolific USB serial adapter for a long time with FreeBSD. It serves a faxmodem with mgetty. As soon as I unplugged it, the kernel panicked. mgetty probably had it open at the time (it's in /etc/ttys) Sep 28 11:25:48 kronos kernel: usb4: on uhci3 Sep 28 11:25:48 kronos kernel: usb4: USB revision 1.0 Sep 28 11:25:48 kronos kernel: uhub4: on usb4 Sep 28 11:25:48 kronos kernel: uhub4: 2 ports with 2 removable, self powered Sep 28 11:25:48 kronos kernel: uhci4: port 0xe400-0xe41f irq 19 at device 29.1 on pci0 Sep 28 11:25:48 kronos kernel: uhci4: [GIANT-LOCKED] Sep 28 11:25:48 kronos kernel: uhci4: [ITHREAD] Sep 28 11:25:48 kronos kernel: ucom0: on uhub4 ... Sep 29 13:17:40 kronos kernel: ucom0: ucomreadcb: IOERROR Sep 29 13:20:40 kronos syslogd: kernel boot file is /boot/kernel/kernel Sep 29 13:20:40 kronos kernel: ucom0: at uhub4 port 1 (addr 2) disconnected Sep 29 13:20:40 kronos kernel: panic: uhci_abort_xfer: not in process context Sep 29 13:20:40 kronos kernel: cpuid = 0 Sep 29 13:20:40 kronos kernel: Uptime: 1d1h52m8s * 41 Thread 100040 (PID=40: usb4) doadump () at pcpu.h:195 (kgdb) bt #0 doadump () at pcpu.h:195 #1 0x0000000000000004 in ?? () #2 0xffffffff8051b1e9 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418 #3 0xffffffff8051b5f2 in panic (fmt=0x104
) at /usr/src/sys/kern/kern_shutdown.c:574 #4 0xffffffff8047c69b in uhci_abort_xfer (xfer=Variable "xfer" is not available. ) at /usr/src/sys/dev/usb/uhci.c:2039 #5 0xffffffff8048d50c in usbd_abort_pipe (pipe=0xffffff0023a72400) at /usr/src/sys/dev/usb/usbdi.c:881 #6 0xffffffff804882fa in uplcom_detach (self=Variable "self" is not available. ) at /usr/src/sys/dev/usb/uplcom.c:565 #7 0xffffffff805445f4 in device_detach (dev=0xffffff0004050600) at device_if.h:212 #8 0xffffffff8048b61a in usb_disconnect_port (up=0xffffff000373b7b8, parent=Variable "parent" is not available. ) at /usr/src/sys/dev/usb/usb_subr.c:1376 #9 0xffffffff80481b9e in uhub_explore (dev=0xffffff000370ea00) at /usr/src/sys/dev/usb/uhub.c:462 #10 0xffffffff8048990b in usb_discover (v=Variable "v" is not available. ) at /usr/src/sys/dev/usb/usb.c:724 #11 0xffffffff8048a8bc in usb_event_thread (arg=Variable "arg" is not available. ) at /usr/src/sys/dev/usb/usb.c:440 #12 0xffffffff804f63e3 in fork_exit ( callout=0xffffffff8048a840 , arg=0xffffff000373c480, ---Type to continue, or q to quit--- frame=0xffffff807723bc80) at /usr/src/sys/kern/kern_fork.c:811 #13 0xffffffff807c8fce in fork_trampoline () at /usr/src/sys/amd64/amd64/exception.S:554 (kgdb) list 2034 splx(s); 2035 return; 2036 } 2037 2038 if (xfer->device->bus->intr_context || !curproc) 2039 panic("uhci_abort_xfer: not in process context"); 2040 2041 /* 2042 * If an abort is already in progress then just wait for it to 2043 * complete and return. >How-To-Repeat: Presumably just boot, start mgetty, unplug the USB serial adapter. I have loaned it out (hence the unplug!) and will not be able to try a repro until next week. >Fix: >Release-Note: >Audit-Trail: >Unformatted: