Date: Mon, 19 Jul 2004 19:50:56 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: iedowse@maths.tcd.ie Cc: pjd@freebsd.org Subject: Re: Unloading USB driver while device is attached. Message-ID: <20040719.195056.35662742.imp@bsdimp.com> In-Reply-To: <200407200045.aa99979@salmon.maths.tcd.ie> References: <20040719.170132.52458790.imp@bsdimp.com> <200407200045.aa99979@salmon.maths.tcd.ie>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200407200045.aa99979@salmon.maths.tcd.ie>
Ian Dowse <iedowse@maths.tcd.ie> writes:
: In message <20040719.170132.52458790.imp@bsdimp.com>, "M. Warner Losh" writes:
: >In message: <200407191950.aa12733@salmon.maths.tcd.ie>
: > Ian Dowse <iedowse@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040719.195056.35662742.imp>
