Subject: Re: ex0 weird error
To: Peter Seebach <seebs@plethora.net>
From: Andrew Brown <atatat@atatdot.net>
List: current-users
Date: 12/14/2000 13:28:21
--bg08WKrSYDhXBjb5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

>>known, afaik.  i asked someone about this a few weeks ago and was told
>>that there was a fix in a pr somewhere.
>
>Ah-hah!  Yes, and I used to have this, with a different message, and I
>applied the fix, and it went away, and I forgot about it and supped
>a number of times... :)

yep.  looking back, i can see that you asked about this before.  5 Sep
1999 to be exact.  funny...but that message (and the actual patch) are
not in the mailing list archives on netbsd.org.

>>your "halting" problem was
>>probably accompanied by a message of the form "stray eb164 irq 1;
>>stopped logging", yes?
>
>Yup.
>
>Okay, now that it's known, I'll just ignore it.  Whatever the fix was,
>though, it did work for me, so maybe it should get pulled into the tree -
>unless it's ugly, in which case, maybe it's time to analyze what's wrong
>with it.  :)

i don't think it did.  the first of the two line changes seems to have
gone in in a slightly altered form.  the second one-liner doesn't look
like it went in.  here it is again.

-- 
|-----< "CODE WARRIOR" >-----|
codewarrior@daemon.org             * "ah!  i see you have the internet
twofsonet@graffiti.com (Andrew Brown)                that goes *ping*!"
andrew@crossbar.com       * "information is power -- share the wealth."

--bg08WKrSYDhXBjb5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="alpha.patch"

From: Matthias Drochner <M.Drochner@fz-juelich.de>
Subject: Re: ex0 wedges after long uptime? 
Date: Tue, 07 Dec 1999 14:14:13 +0100

Index: elinkxl.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ic/elinkxl.c,v
retrieving revision 1.20
diff -c -r1.20 elinkxl.c
*** elinkxl.c	1999/11/19 10:42:48	1.20
--- elinkxl.c	1999/12/07 12:53:49
***************
*** 1109,1121 ****
  	}
  	for (;;) {
  		stat = bus_space_read_2(iot, ioh, ELINK_STATUS);
! 		if (!(stat & S_MASK))
  			break;
  		/*
  		 * Acknowledge interrupts.
  		 */
  		bus_space_write_2(iot, ioh, ELINK_COMMAND, ACK_INTR |
! 				      (stat & S_MASK));
  		if (sc->intr_ack)
  		    (*sc->intr_ack)(sc);
  		ret = 1;
--- 1109,1121 ----
  	}
  	for (;;) {
  		stat = bus_space_read_2(iot, ioh, ELINK_STATUS);
! 		if (!(stat & (S_MASK | S_INTR_LATCH)))
  			break;
  		/*
  		 * Acknowledge interrupts.
  		 */
  		bus_space_write_2(iot, ioh, ELINK_COMMAND, ACK_INTR |
! 				      (stat & (S_MASK | S_INTR_LATCH)));
  		if (sc->intr_ack)
  		    (*sc->intr_ack)(sc);
  		ret = 1;


--bg08WKrSYDhXBjb5--