Subject: port-i386/2558: lpt interupt based crashes
To: None <gnats-bugs@NetBSD.ORG>
From: John M Vinopal <banshee@gabriella.resort.com>
List: netbsd-bugs
Date: 06/19/1996 05:46:55
>Number:         2558
>Category:       port-i386
>Synopsis:       lpt interupt based crashes
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 19 09:05:04 1996
>Last-Modified:
>Originator:     John M Vinopal
>Organization:
The Wailer at the Gates of Dawn            /   banshee@resort.com          |
Just who ARE you calling a FROOFROO Head? /                                |
DoD#0667  "Just a friend of the beast."  | http://www.resort.com/~banshee/ |
2,3,5,7,13,17,19,31,61,89,107,127,521,607....\      Port and Absinthe      |
>Release:        current
>Environment:
System: NetBSD gabriella.resort.com 1.2_ALPHA NetBSD 1.2_ALPHA (GABRIELLA-2) #0: Sat Jun 8 15:41:13 PDT 1996 banshee@gabriella.resort.com:/usr/src/sys/arch/i386/compile/GABRIELLA-2 i386

>Description:
	triggering lptintr() causes instant reboot.

>How-To-Repeat:
	print with irq enabled driver.

>Fix:
the value of 50 works, but I've not tried other values.
when and why did this break?  early march?

*** foo Wed Jun 19 05:41:50 1996
--- lpt.c       Wed Jun 12 14:26:20 1996
***************
*** 545,550 ****
--- 545,551 ----
                u_char control = sc->sc_control;
                /* send char */
                bus_io_write_1(bc, ioh, lpt_data, *sc->sc_cp++);
+               DELAY(50);      /* XXX - why!? */
                bus_io_write_1(bc, ioh, lpt_control, control | LPC_STROBE);
                sc->sc_count--;
                bus_io_write_1(bc, ioh, lpt_control, control);

>Audit-Trail:
>Unformatted: