Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jan 2001 08:04:10 -0800 (PST)
From:      "Thomas D. Dean" <tomdean@speakeasy.org>
To:        smp@freebsd.org;
Subject:   Re: Continuing Fatal Trap 12
Message-ID:  <200101051604.f05G4Af04311@celebris.tddhome>
In-Reply-To: <5.0.2.1.2.20010104215541.00a63c38@pozo.com> (message from Manfred Antar on Thu, 04 Jan 2001 21:55:57 -0800)
References:   <5.0.2.1.2.20010104215541.00a63c38@pozo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Why does printing work correctly in UP but not SMP?  I believe this
patch masks a more serious problem in SMP.

I still have system 'freezes' in SMP during 'make world'.  In UP,
'make world' completes without error.

Since printing seems to function normally in UP, the patch should be:

--- lpt.c Thu Dec 7 17:33:12 2000 
+++ lpt.c.hack Thu Jan 4 00:46:41 2001 
@@ -394,6 +394,7 @@ 
 /* retrieve the ppbus irq */ 
 BUS_READ_IVAR(ppbus, dev, PPBUS_IVAR_IRQ, &irq); 
 
+#if !defined(SMP)
 if (irq > 0) { 
 /* declare our interrupt handler */ 
 sc->intr_resource = bus_alloc_resource(dev, SYS_RES_IRQ, 
@@ -403,9 +404,12 @@ 
 sc->sc_irq = LP_HAS_IRQ | LP_USE_IRQ | LP_ENABLE_IRQ; 
 device_printf(dev, "Interrupt-driven port\n"); 
 } else { 
+#endif 
 sc->sc_irq = 0; 
 device_printf(dev, "Polled port\n"); 
+#if !defined(SMP)
 } 
+#endif 
 lprintf(("irq %x %x\n", irq, sc->sc_irq)); 
 
 lpt_release_ppbus(dev); 

tomdean


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101051604.f05G4Af04311>