Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Oct 2004 11:03:31 -0400
From:      Mike Tancsa <mike@sentex.net>
To:        freebsd-hackers@freebsd.org
Subject:   fix to a data corruption problem
Message-ID:  <6.1.2.0.0.20041022103155.09b6d208@64.7.153.2>

next in thread | raw e-mail | index | archive | help

We are trying to fix a bug in the uhid interrupt handler/driver

http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/72935

where it can inadvertently walk into another handler working with
clist data structures in sys/kern/tty_subr.c.

Uhid is a "bio" class device, which means that its not masked when another 
"tty" class handler is running.

Our modification to uhid below appears to work, but we have seen references 
to "update_intr_masks()" as part of this type of
modification.

         int s = splhigh();
         tty_imask |= bio_imask;
         splx( s );

What is the "approved" method for doing this?   If this is correct, any 
chance some one could commit the fix to RELENG_4 ?

         ---Mike




--------------------------------------------------------------------
Mike Tancsa,                                      tel +1 519 651 3400
Sentex Communications,                            mike@sentex.net
Providing Internet since 1994                    www.sentex.net
Cambridge, Ontario Canada                         www.sentex.net/mike



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.1.2.0.0.20041022103155.09b6d208>