Re: "legacy" usb stack fixes (was: Re: HEADSUP new usb code coming in.)

From: Rink Springer <rink_at_FreeBSD.org>
Date: Thu, 11 Sep 2008 12:33:43 +0200
On Thu, Sep 11, 2008 at 10:13:22AM +0200, Hans Petter Selasky wrote:
> I also see crashes with my new stuff and the umass driver when the USB device 
> is un-plugged too early. The backtraces I've got so far does not indicate a 
> USB problem, though ....

That is correct, this is a bug in CAM. More specifically, CAM does not
handle the removal of busses well. There are two possible options:

1) Obviously, fix CAM to handle this scenarion
   DragonflyBSD seems to have a lot of fixes in this area, which I
   intend to take a look at 'some day' (no thanks to $reallife...)

2) Create a CAM bus per USB bus
  I think this is reasonable, and it makes a lot more sense than the
   one-bus-per-device approach that we have now. The idea is that
   every USB controller hub creates a CAM bus, and umass(4) attaches to
   this bus instead of creating its own. Of course, until CAM is fixed,
   detaching PCMCIA or equivalent USB cards will still cause panics, but
   it would be a lot better than it is now...

Personally, I'd like to see option 2 implemented in the USB2 stack, as
it avoids the issue and makes a lot more sense from user perspective
(I'm probably onot the only one who gets scared by 'camcontrol devlist'
if you have a single MP3 player which advertises 2 disks :-))

Regards,

-- 
Rink P.W. Springer                                - http://rink.nu
"Anyway boys, this is America. Just because you get more votes doesn't
 mean you win." - Fox Mulder
Received on Thu Sep 11 2008 - 08:51:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:35 UTC