Re: Device driver question

Tommy Reynolds (reynolds@redhat.com)
Wed, 15 May 2002 08:36:45 -0500


Uttered "Bloch, Jack" <Jack.Bloch@icn.siemens.com>, spoke thus:

> I have a specific case where our HW can generate a
> special interrupt. In this case I simply want the ISR to halt the system
> (i.e. take the same action as if I typed halt from the command line). How
> can I from within my device driver cause a halt? Please CC me specifically
> on any replies.

Check out the code for "sys_reboot" in "kernel/sys.c" for ideas on how to do
this. I don't think you can invoke "sys_reboot" from inside an interrupt
handler, but you could probably do the same thing by calling the service
routines "sys_reboot" does.

If that doesn't shut your machine down gracefully, then you might resort to
"call_usermodehelper" in "kernel/kmod.c" to run "/sbin/shutdown -h now". You
can't invoke "call_usermodehelper" from an interrupt top half, but it should
work find from a tasklett.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/