cvs commit: src/sys/dev/usb ugen.c
M. Warner Losh
imp at bsdimp.com
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-all