Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Mar 2005 19:46:18 +0200
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Mike Tancsa <mike@sentex.net>, ticso@cicely.de, freebsd-usb@freebsd.org
Subject:   Re: panic: uhci_abort_xfer: not in process context (was Re: uplcom / ucom problems on RELENG_5)
Message-ID:  <200503311946.23151.hselasky@c2i.net>
In-Reply-To: <6.2.1.2.0.20050331074641.04f72eb8@64.7.153.2>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503311946.23151.hselasky>