From owner-freebsd-usb@FreeBSD.ORG Sat Apr 2 17:20:56 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 A068616A4CE for ; Sat, 2 Apr 2005 17:20:56 +0000 (GMT) Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by mx1.FreeBSD.org (Postfix) with ESMTP id AE15443D1D for ; Sat, 2 Apr 2005 17:20:55 +0000 (GMT) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de (cicely5.cicely.de [10.1.1.7]) (authenticated bits=0)j32HKmsf047716 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Sat, 2 Apr 2005 19:20:51 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [IPv6:3ffe:400:8d0:301::12]) by cicely5.cicely.de (8.12.10/8.12.10) with ESMTP id j32HJfhs030786 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 2 Apr 2005 19:19:41 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.12.11/8.12.11) with ESMTP id j32HJeIh030528; Sat, 2 Apr 2005 19:19:40 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.12.11/8.12.11/Submit) id j32HJex3030527; Sat, 2 Apr 2005 19:19:40 +0200 (CEST) (envelope-from ticso) Date: Sat, 2 Apr 2005 19:19:39 +0200 From: Bernd Walter To: Ian Dowse Message-ID: <20050402171938.GU2072@cicely12.cicely.de> References: <20050402103624.GS2072@cicely12.cicely.de> <200504021632.aa50758@salmon.maths.tcd.ie> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200504021632.aa50758@salmon.maths.tcd.ie> X-Operating-System: FreeBSD cicely12.cicely.de 5.2-CURRENT alpha User-Agent: Mutt/1.5.6i X-Spam-Status: No, hits=-4.9 required=3.0 tests=BAYES_00 autolearn=no version=2.64 X-Spam-Report: * -4.9 BAYES_00 BODY: Bayesian spam probability is 0 to 1% * [score: 0.0000] X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on cicely12.cicely.de cc: ticso@cicely12.cicely.de cc: freebsd-usb@freebsd.org cc: sebastien.b@swissinfo.org cc: ticso@cicely.de Subject: Re: panic: uhci_abort_xfer: not in process context X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: ticso@cicely.de List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Apr 2005 17:20:56 -0000 On Sat, Apr 02, 2005 at 04:32:50PM +0100, Ian Dowse wrote: > Just a few general comments on this: [...] > In summary: > non-blocking: good! > blocking: good! > blocking from non-blocking contexts: bad! I fully agree with you - in general. You see the inetrrupt routine as non-blocking context. Fine - abort_xfer is bad as it blocks for a long time - agreed. But we need any kind of syncronisation with top half. Although taking a mutex may block I don't consider it bad as it should not be hold for long time and therefor waiting a long time is unlikely. Allowing to wait for a Mutex in the bottom half is the whole reason we have interrupt threads. But that is the current problem - we are not even allowed to take a Mutex, just because intr_context isn't safe. The panic was triggered by a userland call that was claimed to be in interrupt context. OK - I was wrong in that it was not close, but that doesn't change anything with the basic problem: The panic triggered when it shouldn't. -- B.Walter BWCT http://www.bwct.de bernd@bwct.de info@bwct.de