USB/TTY spl fix.
Julian Elischer
julian at elischer.org
Fri Nov 5 14:11:42 PST 2004
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
More information about the freebsd-usb
mailing list