Re: Unloading USB driver while device is attached.

From: Pawel Jakub Dawidek <pjd_at_FreeBSD.org>
Date: Mon, 19 Jul 2004 19:52:41 +0200
On Mon, Jul 19, 2004 at 11:43:14AM -0600, Scott Long wrote:
+> >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.

If your device is inserted and you load a driver everything is ok,
because no driver is attached to this device.
So, as I see it, device should be totally detached before unload and
I susspect that something is missing in USB layer, not in all drivers.
That's why when I load a driver again, USB thinks it is somehow connected
to existing device, but it isn't.

-- 
Pawel Jakub Dawidek                       http://www.FreeBSD.org
pjd_at_FreeBSD.org                           http://garage.freebsd.pl
FreeBSD committer                         Am I Evil? Yes, I Am!

Received on Mon Jul 19 2004 - 15:52:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:02 UTC