diff options
| author | oster <oster@NetBSD.org> | 2005-01-14 01:33:15 +0000 |
|---|---|---|
| committer | oster <oster@NetBSD.org> | 2005-01-14 01:33:15 +0000 |
| commit | 320bcedf91f2a129d00b13a44609f4c3832f333d (patch) | |
| tree | e69db8276b6cd20b7136582f0a3725f6845be98b /sys/dev/raidframe | |
| parent | ab2eace68fb9e7a289a113c12047606004cd07c1 (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.c | 6 |
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 |
