Date: Fri, 09 Feb 2001 09:45:28 -0600 From: "Randall R. Stewart" <randall@stewart.chicago.il.us> To: freebsd-questions@FreeBSD.org Subject: Question about spl() and friends AND disable/enable interupts Message-ID: <3A841098.61D7BDC9@stewart.chicago.il.us>
next in thread | raw e-mail | index | archive | help
Hello:
It has been years since I have poked around in kernel
lands... and now I find myself doing so again :)
Now I have a very basic and probably dumb question..
I am busy hacking/fixing the an driver.. attempting
to get it to align to the 4800 specification I have...
And I notice no use of the splx() and friends. Further
I hunted a bit and find that all of the spl...() ilk
have been macro'd to 'return(0);'
Now here is my question(s):
A) When a driver needs to disable interupts how does it do so?
- For now I am only disabling the Airo card from interupting
but I think this is a real problem since there is a race
in the command register access.
B) Is the mtx_enter() mtx_exit() supposed be the new replacement
for interupt. I glanced at this code, and I do note a disable_intr()
when it is from a lowerlayer type driver... but I am not sure
this helps protect the user making a query... Worse, if a user
side process does say a ancontrol command and thus has a lock, a
interupt hits, does the interupt handler have to wait, since it
too does a mtx_enter? This all seems strange in my old grey cells.
Pointers or comments would be most welcome.. thanks
R
--
Randall R. Stewart
randall@stewart.chicago.il.us or rrs@cisco.com
815-342-5222 (cell) 815-477-2127 (work)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A841098.61D7BDC9>
