cvs commit: src/sys/dev/usb ugen.c

M. Warner Losh imp at
Wed Sep 8 13:59:21 PDT 2004

It turns out that Brian's change typically is the same as the old
code.  However, there are a few cases where it isn't:

(1) Where the application doesn't close the device when it gets an
    error.  Stupid application, I know, but in this case the device
    never detaches.  This is one of the things that caused our
    appliction to die with the new code, but not the old code.  phk's
    work with deadfs and dev_t ref counting may help here.

    A simple cat /dev/ugenX.Y would behave the same both ways, but
    buggy applications do behave differently.

(2) It changes the timing of things such that my uhci controller
    panics a little more often.  This panic is 'related' to detach,
    but not exactly directly.  This seems related to interrupt load
    and timing, but could be something else, like loadable modules.

I'm not sure what the right thing to do architecturally about #1 is,
so for the moment I'm going to leave the change backed out.  However,
I'll start a discussion on arch@ to see if some consensus can develop
as to the right thing to do in general.

I'd also like to appologize to Brian for backing things out w/o
talking to him first.  Like I said before, I let my frustration at
wasted time get the better of me.


More information about the cvs-src mailing list