Date: Fri, 05 Nov 2004 14:11:42 -0800 From: Julian Elischer <julian@elischer.org> To: Mike Tancsa <mike@sentex.net> Cc: bde@freebsd.org Subject: USB/TTY spl fix. Message-ID: <418BFA9E.8050603@elischer.org> In-Reply-To: <6.1.2.0.0.20041105162518.030e1928@64.7.153.2> References: <418BED57.6090203@elischer.org> <6.1.2.0.0.20041105162518.030e1928@64.7.153.2>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Tancsa wrote: > At 04:15 PM 05/11/2004, Julian Elischer wrote: > >> 1/ where are we? >> I've seen USB commits recently from several people.. > > > Not a commit, but a plea to have > > http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/72935 > > reviewed / committed if possible :) *** uhid.c.orig Wed Oct 20 14:16:05 2004 --- uhid.c Wed Oct 20 14:16:56 2004 *************** *** 411,416 **** --- 411,424 ---- if (sc->sc_dying) return (ENXIO); + /* KDW - test change to force class tty to include uhid */ + { + int s = splhigh(); + tty_imask |= bio_imask; + splx( s ); + } + /* end KDW */ + if (sc->sc_state & UHID_OPEN) return (EBUSY); sc->sc_state |= UHID_OPEN; updated to..... { int s = splhigh(); tty_imask |= bio_imask; bio_imask |= tty_imask; update_intr_masks(); splx( s ); } well, this probably solves the problem for static cases but it doesn't solve the case for someone plugging in a pccard modem. In that case the mask for tty_mask would change, and bio_mask would never be updated. My tbought is that we "ignore" this case for now and commit it as shown above. 5.x doesn't have this problem due to the completely different protection system. I'm CCing bde because he has general foo in this area. > > > I have been running with the patch in there for a week now heavily > hitting the sio and uhid devices without issue. It would normally > take a day or two to trigger the panic without the patch. > > > ---Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?418BFA9E.8050603>