Re: Unloading USB driver while device is attached.

From: M. Warner Losh <imp_at_bsdimp.com>
Date: Mon, 19 Jul 2004 16:36:58 -0600 (MDT)
In message: <20040719175241.GJ57678_at_darkness.comp.waw.pl>
            Pawel Jakub Dawidek <pjd_at_freebsd.org> writes:
: 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.

Actually, usb won't reattach on kldload.  That's definitely missing
from the usb layer.  This has been noted many times in the past.
However, its missing shouldn't cause the panic.  That's likely a
different bug.

Warner
Received on Mon Jul 19 2004 - 20:38:54 UTC

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