David Priban wrote:
> 
> > > Kernel panic: Aiee, killing interrupt handler !
> > > In interrupt handler - not syncing
> >
> > Run it through ksymoops and I might be able to guess what went wrong.
> >
> > In theory however i2o is a standard and all i2o works alike. In
> > practice i2o
> > is a pseudo standard and nobody seems to interpret the spec the
> > same way, the
> > implementations all tend to have bugs and the hardware sometimes does too.
> >
> Alan,
> This is what ksymoops gave me. One thing I didn't mention before:
> kernel panics when I hit Ctrl-Alt-Del after it hangs telling me this:
> 

This untested patch should fix the scheduling-in-interrupt
thing.


--- kernel/sys.c.orig   Thu Mar  1 10:06:14 2001
+++ kernel/sys.c        Thu Mar  1 10:07:43 2001
@@ -330,6 +330,12 @@
        return 0;
 }
 
+static void deferred_cad(void *dummy)
+{
+       notifier_call_chain(&reboot_notifier_list, SYS_RESTART, NULL);
+       machine_restart(NULL);
+}
+
 /*
  * This function gets called by ctrl-alt-del - ie the keyboard interrupt.
  * As it's called within an interrupt, it may NOT sync: the only choice
@@ -337,10 +343,13 @@
  */
 void ctrl_alt_del(void)
 {
-       if (C_A_D) {
-               notifier_call_chain(&reboot_notifier_list, SYS_RESTART, NULL);
-               machine_restart(NULL);
-       } else
+       static struct tq_struct cad_tq = {
+               routine: deferred_cad,
+       };
+
+       if (C_A_D)
+               schedule_task(&cad_tq);
+       else
                kill_proc(1, SIGINT, 1);
 }
        
-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to