summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
diff options
context:
space:
mode:
authoroster <oster@NetBSD.org>2005-01-14 01:33:15 +0000
committeroster <oster@NetBSD.org>2005-01-14 01:33:15 +0000
commit320bcedf91f2a129d00b13a44609f4c3832f333d (patch)
treee69db8276b6cd20b7136582f0a3725f6845be98b /sys/dev/raidframe
parentab2eace68fb9e7a289a113c12047606004cd07c1 (diff)
After walking through desc->dagList nuking entries, make sure
desc->dagList is set to NULL before continuing. If we don't, there's a danger that we'll try to re-free these items later. (This should fix a panic reported to me via private communciation.)
Diffstat (limited to 'sys/dev/raidframe')
-rw-r--r--sys/dev/raidframe/rf_states.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/raidframe/rf_states.c b/sys/dev/raidframe/rf_states.c
index 620d3959e64..aa7a3bdbf18 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.36 2004/11/16 16:45:52 oster Exp $ */
+/* $NetBSD: rf_states.c,v 1.37 2005/01/14 01:33:15 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_states.c,v 1.36 2004/11/16 16:45:52 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_states.c,v 1.37 2005/01/14 01:33:15 oster Exp $");
#include <sys/errno.h>
@@ -628,6 +628,8 @@ rf_State_ProcessDAG(RF_RaidAccessDesc_t *desc)
dagList = dagList->next;
rf_FreeDAGList(temp);
}
+ desc->dagList = NULL;
+
rf_MarkFailuresInASMList(raidPtr, asmh);
/* note the retry so that we'll bail in