Re: Unloading USB driver while device is attached.

From: M. Warner Losh <imp_at_bsdimp.com>
Date: Mon, 19 Jul 2004 19:50:56 -0600 (MDT)
In message: <200407200045.aa99979_at_salmon.maths.tcd.ie>
            Ian Dowse <iedowse_at_maths.tcd.ie> writes:
: In message <20040719.170132.52458790.imp_at_bsdimp.com>, "M. Warner Losh" writes:
: >In message: <200407191950.aa12733_at_salmon.maths.tcd.ie>
: >            Ian Dowse <iedowse_at_maths.tcd.ie> writes:
: >: 	http://people.freebsd.org/~iedowse/usb.diff
: >: 
: >: but unfortunately I haven't had time to work on this lately (and
: >: there are all the problems of divergence from NetBSD etc. if bits
: >: of this get committed). The (small) uhub.c changes look like they
: >: might possibly help in your case. With the full patch I was able
: >: to `kldunload usb' without crashes a while ago, but there were still
: >: memory leaks.
: >
: >I'm going to start merging in some of these changes, if you don't
: >mind.
: 
: If you have the time that would be great! FYI, here is a rough
: summary of the changes in no particular order:
: 
:   o Beginnings of interrupt pipe support for EHCI (very little done)

cool.

:   o Support for unloading the usb driver (leaks some memory)
:   o Support for removing cardbus USB controllers (also leaks memory)

These are my biggest goals of the moment.

:   o Avoid most (but not all) uses of contigmalloc and data buffer
:     copies by using bus_dmamap_load() and a new `struct usb_dma_mapping'.
:     A few places marked `XXX' need to be checked for crossing DMA
:     segment boundaries. This is probably the most important change,
:     as it makes USB work much more reliably on low memory machines.

This would be nice.

:   o Attempt to follow the correct procedure for synchronising with
:     the BIOS via SMM to take over control of the EHCI controller.
:     This may fix problems when the BIOS is configured to emulate
:     legacy devices, but is untested on any affected machines.

Docs on how to do this?  I've not seen this info...

:   o Try to make transfers reusable from the completion callback (some
:     related changes went into NetBSD recently, but I haven't checked
:     the overlap).

I saw that.

: There are probably a few other changes in there too - let me know if
: you find any stuff that doesn't make sense.

OK.  Will do.

I think we need to look at radically updating the way we do
compatibility between the different systems that the usb code runs
on.  But that's a good way to freak people out by saying such things
in public :-)

Warner
Received on Mon Jul 19 2004 - 23:53:52 UTC

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