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>

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



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