summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
diff options
context:
space:
mode:
authoroster <oster@NetBSD.org>1999-12-12 20:52:37 +0000
committeroster <oster@NetBSD.org>1999-12-12 20:52:37 +0000
commitc8753ea619142fb345e2e229c941b76922e80f27 (patch)
treec9468a7c18356e5114c47f15d8ea016e1d49f3d1 /sys/dev/raidframe
parent706e3c13c05e09dcf306c33e98c27531cdaceba1 (diff)
Rework how we do the 'wakeup' when an IO completes.
Diffstat (limited to 'sys/dev/raidframe')
-rw-r--r--sys/dev/raidframe/rf_states.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/raidframe/rf_states.c b/sys/dev/raidframe/rf_states.c
index eb669de71e5..f4c0eae381f 100644
--- a/sys/dev/raidframe/rf_states.c
+++ b/sys/dev/raidframe/rf_states.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_states.c,v 1.9 1999/12/07 02:40:28 oster Exp $ */
+/* $NetBSD: rf_states.c,v 1.10 1999/12/12 20:52:37 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -42,6 +42,7 @@
#include "rf_engine.h"
#include "rf_map.h"
#include "rf_etimer.h"
+#include "rf_kintf.h"
/* prototypes for some of the available states.
@@ -207,10 +208,11 @@ rf_State_LastState(RF_RaidAccessDesc_t * desc)
RF_LOCK_MUTEX(((RF_Raid_t *) desc->raidPtr)->mutex);
((RF_Raid_t *) desc->raidPtr)->openings++;
- wakeup(&(((RF_Raid_t *) desc->raidPtr)->openings));
RF_UNLOCK_MUTEX(((RF_Raid_t *) desc->raidPtr)->mutex);
-
-
+
+ /* wake up any pending IO */
+ raidstart(((RF_Raid_t *) desc->raidPtr));
+
/* printf("Calling biodone on 0x%x\n",desc->bp); */
biodone(desc->bp); /* access came through ioctl */