Hi Linus,
  I sent this patch yesterday to linux-kernel, and as nobody answered...
I was trying to discuss it with [EMAIL PROTECTED] before, when I was tracking
problem down, but he apparently does not read this email address :-(

  Could you apply this patch, either with comment, or without? Without
additional udelay(300) before first printk my GA-6VXD7 board (with
Via VT82C694X host bridge) dies in couple of spectacular ways somewhere
after first message is printed to screen, but before second one is
displayed. I asked VIA for datasheets/errata, but they did not bothered
with answer yet. But it looks like that either r-m-w in spinlock code,
or cursor postitioning code in vgacon, causes lockup. Without some HW
analyser it is hard to tell...
                                        Thanks,
                                                Petr Vandrovec
                                                [EMAIL PROTECTED]

diff -urdN linux/arch/i386/kernel/smpboot.c linux/arch/i386/kernel/smpboot.c
--- linux/arch/i386/kernel/smpboot.c    Mon Dec  4 01:48:19 2000
+++ linux/arch/i386/kernel/smpboot.c    Thu Dec 14 17:44:26 2000
@@ -694,9 +694,21 @@
                apic_write_around(APIC_ICR, APIC_DM_STARTUP
                                        | (start_eip >> 12));
 
+               /*
+                * Petr Vandrovec:
+                *
+                * We must wait for at least 200us, otherwise
+                * printk kills my VT82C694X based SMP board.
+                * 
+                * 100us is not enough, 200us is enough,
+                * so I use 300us for additional safety.
+                */
+
+               udelay(300);
+
                Dprintk("Startup point 1.\n");
 
                Dprintk("Waiting for send to finish...\n");
                timeout = 0;
                do {
                        Dprintk("+");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to