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

Brian Fundakowski Feldman green at FreeBSD.ORG
Wed Sep 8 08:30:11 PDT 2004


On Wed, Sep 08, 2004 at 08:32:15AM -0600, M. Warner Losh wrote:
> 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.

No, I'd prefer not to have to crash my machine more.  It already does that
(or hangs, or whatever) in -CURRENT often enough.

(Holding breath for open sourced Solaris.)

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the cvs-src mailing list