Make the WD code work on my P6DNF running on the SMP code. It appears

that there was an "early" interrupt, and this checks for it.
This commit is contained in:
dyson 1997-08-04 05:26:49 +00:00
parent ec0474c458
commit b8ed1d9a7f

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* from: @(#)wd.c 7.2 (Berkeley) 5/9/91 * from: @(#)wd.c 7.2 (Berkeley) 5/9/91
* $Id: wd.c,v 1.132 1997/07/20 14:10:17 bde Exp $ * $Id: wd.c,v 1.133 1997/07/29 12:57:24 sos Exp $
*/ */
/* TODO: /* TODO:
@ -1037,6 +1037,9 @@ wdintr(int unit)
/* finish off DMA. ignore errors if we're not using it. */ /* finish off DMA. ignore errors if we're not using it. */
if (du->dk_flags & (DKFL_DMA|DKFL_USEDMA)) { if (du->dk_flags & (DKFL_DMA|DKFL_USEDMA)) {
if ((wddma.wdd_dmastatus(du->dk_dmacookie) & WDDS_INTERRUPT) == 0)
return;
if ((wddma.wdd_dmadone(du->dk_dmacookie) != WDDS_INTERRUPT) && if ((wddma.wdd_dmadone(du->dk_dmacookie) != WDDS_INTERRUPT) &&
!(du->dk_flags & DKFL_USEDMA)) { !(du->dk_flags & DKFL_USEDMA)) {
wderror(bp, du, "wdintr: DMA failure"); wderror(bp, du, "wdintr: DMA failure");