Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jul 2004 11:43:14 -0600
From:      Scott Long <scottl@freebsd.org>
To:        Pawel Jakub Dawidek <pjd@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Unloading USB driver while device is attached.
Message-ID:  <40FC0832.3040805@freebsd.org>
In-Reply-To: <20040719173819.GI57678@darkness.comp.waw.pl>
References:  <20040719145745.GH57678@darkness.comp.waw.pl> <20040719102139.N59702@carver.gumbysoft.com> <20040719173819.GI57678@darkness.comp.waw.pl>

index | next in thread | previous in thread | raw e-mail

Pawel Jakub Dawidek wrote:

> On Mon, Jul 19, 2004 at 10:23:16AM -0700, Doug White wrote:
> +> Theres a discussion going on in -arch about making kldunload a bit more
> +> careful about cleaning up before detaching.  In the interim adding a
> +> method that just vetos any unload request would prevent this from
> +> occuring, but also preclude unloading the driver. :)
> 
> Yeah, but even on 'kldunload -f' it should be possible to clean up
> and avoid panic on next load.
> 

What usually happens in that a timeout happens and the driver handler no
longer exists (i.e. forgot to call untimeout), or an interrupt happens
and the driver forgot to deregister the interrupt.  There are also a lot
of rase possibilities in here even if the driver attempts to do the
right thing.  There really isn't a 'one size fits all' way to deal with
this kind of thing.  The driver author needs to build quiesce and
shutdown semantics into the driver design.

Scott


home | help

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