Subject: Re: panics from lms driver
To: None <current-users@NetBSD.ORG>
From: Dale Rahn <firstname.lastname@example.org>
Date: 10/05/1995 13:51:16
From: email@example.com (Charles Hannum)
> In article <199509271635.MAA02448@owl.dol-esa.gov>
> firstname.lastname@example.org (Kenneth Stailey) writes:
> I still get occasional panics from the lms driver. The pathway goes:
> lmsintr() -> b_to_q() -> bcopy() -> panic()
> Do you think it would make sense to put spltty() / splx() around the
> b_to_q() in lmsintr()?
> That seems unlikely to help, since b_to_q() does that itself.
> What is the panic message?
I was writing a driver for the serial device on the MVME167 and had
a problem with crashes in the b_to_q and q_to_b functions.
On the port I was working on, spltty was 3 and spl for my driver was 4.
I believed that a window existed that would allow the functions to get
called when the pointers were in a inconsitant state. The interupt
would occasionally occur in that window. I was getting address errors
in the code.
My solution to this was to make my driver run at spltty.
The ipl was programable.
It also would be possible to do off level processing that run at spltty
to get/put the data and still do the other processing at the device's spl.