From owner-freebsd-usb@FreeBSD.ORG Thu Mar 31 17:45:30 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 4A53516A4CE for ; Thu, 31 Mar 2005 17:45:30 +0000 (GMT) Received: from swip.net (mailfe04.swip.net [212.247.154.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id 60CF843D58 for ; Thu, 31 Mar 2005 17:45:29 +0000 (GMT) (envelope-from hselasky@c2i.net) X-T2-Posting-ID: Y1QAsIk9O44SO+J/q9KNyQ== Received: from mp-216-39-167.daxnet.no ([193.216.39.167] verified) by mailfe04.swip.net (CommuniGate Pro SMTP 4.2.9) with ESMTP id 332161062; Thu, 31 Mar 2005 19:45:27 +0200 From: Hans Petter Selasky To: Mike Tancsa , ticso@cicely.de, freebsd-usb@freebsd.org Date: Thu, 31 Mar 2005 19:46:18 +0200 User-Agent: KMail/1.7 References: <6.2.1.2.0.20050329222822.04f7c500@64.7.153.2> <6.2.1.2.0.20050330145628.053abc68@64.7.153.2> <6.2.1.2.0.20050331074641.04f72eb8@64.7.153.2> In-Reply-To: <6.2.1.2.0.20050331074641.04f72eb8@64.7.153.2> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200503311946.23151.hselasky@c2i.net> Subject: Re: panic: uhci_abort_xfer: not in process context (was Re: uplcom / ucom problems on RELENG_5) 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, 31 Mar 2005 17:45:30 -0000 On Thursday 31 March 2005 14:49, Mike Tancsa wrote: > Unfortunately the box coredumped overnight > > > putc to a clist with no reserved cblocks > putc to a clist with no reserved cblocks > putc to a clist with no reserved cblocks > putc to a clist with no reserved cblocks > panic: uhci_abort_xfer: not in process context > Uptime: 6h55m12s > Dumping 254 MB > 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 > Dump complete > Automatic reboot in 15 seconds - press a key on the console to abort > Rebooting... If you are using FreeBSD5.x/6.x my USB driver will most likely fix your problem. The problem is that that the abort function, which can sleep, is called from the interrupt handler, which cannot sleep. My USB driver will allow this. This is a design problem in the existing USB system. When one is designing a driver, it is very convenient if USB-transfers can be stopped/started from the callback of another USB-transfer. For example when one has got a modem and the modem receives the hangup signal, then it can stop the USB-data-transfers right away, not having to spawn another thread for it, which will lead to race conditions. Download the three files below into a new directory and type "make install" (to uninstall type "make deinstall") http://home.c2i.net/hselasky/isdn4bsd/privat/usb/Makefile http://home.c2i.net/hselasky/isdn4bsd/privat/usb/new_usb_1_5_4.diff.bz2 http://home.c2i.net/hselasky/isdn4bsd/privat/usb/new_usb_1_5_4.tar.bz2 Yours --HPS