summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
diff options
context:
space:
mode:
authoroster <oster@NetBSD.org>2000-09-11 00:22:45 +0000
committeroster <oster@NetBSD.org>2000-09-11 00:22:45 +0000
commite8645831a5a584de8a4465618319ba6f133f2fc4 (patch)
tree8815794ce402fb2f23869bf5b6b229a0674c1341 /sys/dev/raidframe
parent5303e70da524bd683d942822303c605c9282f36c (diff)
Only reset the timer value if it actually accumlated time.
Otherwise it may never accumulate any time, and the recon delay will never happen.
Diffstat (limited to 'sys/dev/raidframe')
-rw-r--r--sys/dev/raidframe/rf_revent.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/raidframe/rf_revent.c b/sys/dev/raidframe/rf_revent.c
index 7c034df7cae..7db3a417799 100644
--- a/sys/dev/raidframe/rf_revent.c
+++ b/sys/dev/raidframe/rf_revent.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_revent.c,v 1.7 2000/05/30 02:04:29 oster Exp $ */
+/* $NetBSD: rf_revent.c,v 1.8 2000/09/11 00:22:45 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -156,8 +156,10 @@ rf_GetNextReconEvent(reconDesc, row, continueFunc, continueArg)
}
reconDesc->reconExecTimerRunning = 1;
- RF_ETIMER_START(reconDesc->recon_exec_timer);
-
+ if (RF_ETIMER_VAL_US(reconDesc->recon_exec_timer)!=0) {
+ /* it moved!! reset the timer. */
+ RF_ETIMER_START(reconDesc->recon_exec_timer);
+ }
event = rctrl->eventQueue;
rctrl->eventQueue = event->next;
event->next = NULL;