*BSD News Article 20015


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!metro!sequoia!ultima!kralizec.zeta.org.au!kralizec.zeta.org.au!not-for-mail
From: bde@kralizec.zeta.org.au (Bruce Evans)
Newsgroups: comp.os.386bsd.misc
Subject: Re: Three ESDI drives possible?
Date: 25 Aug 1993 14:00:06 +1000
Organization: Kralizec Dialup Unix Sydney: +61-2-837-1183 V.32bis
Lines: 44
Message-ID: <25eo46INNrbi@kralizec.zeta.org.au>
References: <1993Aug20.023013.19454@sserve.cc.adfa.oz.au> <1993Aug20.115055.20044@cnplss5.cnps.philips.nl> <1993Aug20.155651.18766@leland.Stanford.EDU> <2574j5$65u@olivaw.apanix.apana.org.au>
NNTP-Posting-Host: kralizec.zeta.org.au

In <2574j5$65u@olivaw.apanix.apana.org.au> hart@apanix.apana.org.au (Leigh Hart) writes:

>yergeau@leland.Stanford.EDU (Dan Yergeau) writes:

>>Where did you get this wd driver?  I'm running in a similar
>>configuration (second controller on 0x170 and irq 15) with a homebrew
>>merge of Helbekkmo's changes and patchkit-0.2.4.  I tend to get a fair
>>number of "wdc[01]: extra interrupt" and "stray interrupts" for IRQ 7(???).
>>Performance is good, and everything seems to work OK, but I would like
>>to eliminate these messages.

The "extra interrupts" are caused by the driver sending some
initialization commands to the controller for and then waiting for the
controller to finish, all with wd interrupts disabled.  The controller
turns off its interrupt line when a the driver tests the controller
status after a command finishes, so the driver expects not to get any
interrupts.  However, bde's rewrite of the interrupt handling for the
0.2.4 patchkit results in stale interrupts being delivered.  These are
usually harmless.  They are always harmless when the controller
complains about them :-).  But sometimes a stale interrupt acts as an
early completion for the next command.  This shouldn't be a problem -
the driver just has to wait a little longer until the controller is
really ready.  More seriously, the driver is sloppy about waiting for
commands to finish, so the "extra" interrupt is one that it didn't
wait for.  The extra interrupt is no problem unless the command failed.

My fixes for this and many other bugs in the wd driver are not finished
yet.

>I'm not sure what the "wdc[01]: extra interrupt" error is as I don't run
>a dual control system - but the stray interrupts you are getting on
>IRQ 7 is your printer driver.

Stray interrupts are sent to IRQ7.  Printer interrupts are sent to IRQ7.
There is no other connection.  Installing the lpt driver replaces the
stray interrupt handler by the printer interrupt handler, so stray
interrupts are silently ignored.

>then just reconfig and recompile and reinstall your kernel.  You will never
>get stray interrupts on IRQ 7 again :)

This needs to be fixed :-).
-- 
Bruce Evans  bde@kralizec.zeta.org.au