Subject: Re: panics from lms driver
To: None <current-users@NetBSD.ORG>
From: Charles Hannum <mycroft@deshaw.com>
List: current-users
Date: 10/05/1995 22:09:26
In article <199510051851.NAA18349@pacific.urbana.mcd.mot.com>
drahn@pacific.urbana.mcd.mot.com (Dale Rahn) writes:
On the port I was working on, spltty was 3 and spl for my driver was 4.
That's an interesting point. I had thought the mouse interrupts were
run at spltty(), but they're not. So there's a race between lmsread()
and lmsintr().
That said, here's a simple patch. I'd appreciate it if someone who
was experiencing this problem could let me know whether or not this
fixes it.
Index: lms.c
===================================================================
RCS file: /a/cvsroot/src/sys/arch/i386/isa/lms.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -c -2 -r1.19 -r1.20
*** lms.c 1995/04/17 12:07:17 1.19
--- lms.c 1995/10/05 22:06:47 1.20
***************
*** 1,3 ****
! /* $NetBSD: lms.c,v 1.19 1995/04/17 12:07:17 cgd Exp $ */
/*-
--- 1,3 ----
! /* $NetBSD: lms.c,v 1.20 1995/10/05 22:06:47 mycroft Exp $ */
/*-
***************
*** 120,124 ****
sc->sc_state = 0;
! sc->sc_ih = isa_intr_establish(ia->ia_irq, ISA_IST_PULSE, ISA_IPL_NONE,
lmsintr, sc);
}
--- 120,124 ----
sc->sc_state = 0;
! sc->sc_ih = isa_intr_establish(ia->ia_irq, ISA_IST_PULSE, ISA_IPL_TTY,
lmsintr, sc);
}
Index: mms.c
===================================================================
RCS file: /a/cvsroot/src/sys/arch/i386/isa/mms.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -c -2 -r1.18 -r1.19
*** mms.c 1995/04/17 12:07:19 1.18
--- mms.c 1995/10/05 22:06:51 1.19
***************
*** 1,3 ****
! /* $NetBSD: mms.c,v 1.18 1995/04/17 12:07:19 cgd Exp $ */
/*-
--- 1,3 ----
! /* $NetBSD: mms.c,v 1.19 1995/10/05 22:06:51 mycroft Exp $ */
/*-
***************
*** 110,114 ****
sc->sc_state = 0;
! sc->sc_ih = isa_intr_establish(ia->ia_irq, ISA_IST_PULSE, ISA_IPL_NONE,
mmsintr, sc);
}
--- 110,114 ----
sc->sc_state = 0;
! sc->sc_ih = isa_intr_establish(ia->ia_irq, ISA_IST_PULSE, ISA_IPL_TTY,
mmsintr, sc);
}
Index: pms.c
===================================================================
RCS file: /a/cvsroot/src/sys/arch/i386/isa/pms.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -c -2 -r1.22 -r1.23
*** pms.c 1995/10/05 14:12:21 1.22
--- pms.c 1995/10/05 22:06:54 1.23
***************
*** 1,3 ****
! /* $NetBSD: pms.c,v 1.22 1995/10/05 14:12:21 mycroft Exp $ */
/*-
--- 1,3 ----
! /* $NetBSD: pms.c,v 1.23 1995/10/05 22:06:54 mycroft Exp $ */
/*-
***************
*** 193,197 ****
sc->sc_state = 0;
! sc->sc_ih = isa_intr_establish(ia->ia_irq, ISA_IST_EDGE, ISA_IPL_NONE,
pmsintr, sc);
}
--- 193,197 ----
sc->sc_state = 0;
! sc->sc_ih = isa_intr_establish(ia->ia_irq, ISA_IST_EDGE, ISA_IPL_TTY,
pmsintr, sc);
}