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

M. Warner Losh imp at bsdimp.com
Wed Sep 8 07:34:52 PDT 2004


In message: <20040908130741.GC928 at green.homeunix.org>
            Brian Fundakowski Feldman <green at FreeBSD.ORG> writes:
: On Wed, Sep 08, 2004 at 01:20:31AM -0600, M. Warner Losh wrote:
: > In message: <200409080713.i887Dd54058789 at repoman.freebsd.org>
: >             Warner Losh <imp at FreeBSD.org> writes:
: > : imp         2004-09-08 07:13:39 UTC
: > : 
: > :   FreeBSD src repository
: > : 
: > :   Modified files:
: > :     sys/dev/usb          ugen.c 
: > :   Log:
: > :   Back out 1.88.
: >              1.87 I mean.
: > :   The reference counts are there to block detach until the sleepers in
: > :   read/write/ioctl have gotten out, not to prevent the open device from
: > :   going away.  Restore the old behavior so that we have a chance to wake
: > :   up sleepers when the usb device goes away, so they can properly return
: > :   EIO back to the caller when this happens.
: > :   
: > :   Otherwise, we have a guarnateed panic waiting to happen when a device
: > :   detaches with an active read channel.
: > :   
: > :   This should be merged to 5 asap.
: 
: Now I'll get guaranteed panics using both my Palm and any CardBus hardware.

Can you send me a traceback for that problem then?  The 'reference
count' here is very much supposed to be a 'how many sleepers do you
have' sort of thing and is present in nearly all of the usb drivers.

Warner


More information about the cvs-src mailing list