summaryrefslogtreecommitdiff
path: root/sys/dev/dkwedge
diff options
context:
space:
mode:
authorchris <chris@NetBSD.org>2008-06-01 11:38:26 +0000
committerchris <chris@NetBSD.org>2008-06-01 11:38:26 +0000
commit39f46f7a420477d950bfd3c19d75b527949438df (patch)
tree994ae6bab6b0bc2997ff4aec77cc879be05cd1e7 /sys/dev/dkwedge
parentfbf4777151842b52f262b514ec3d8e0cc947054f (diff)
Call buf_destroy when finished with an on-stack struct buf.
Spotted by LOCKDEBUG, because the condvars were already initialised.
Diffstat (limited to 'sys/dev/dkwedge')
-rw-r--r--sys/dev/dkwedge/dk.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/dkwedge/dk.c b/sys/dev/dkwedge/dk.c
index 433eb3a19ef..1092a21282e 100644
--- a/sys/dev/dkwedge/dk.c
+++ b/sys/dev/dkwedge/dk.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dk.c,v 1.39 2008/05/03 08:23:41 plunky Exp $ */
+/* $NetBSD: dk.c,v 1.40 2008/06/01 11:38:26 chris Exp $ */
/*-
* Copyright (c) 2004, 2005, 2006, 2007 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.39 2008/05/03 08:23:41 plunky Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.40 2008/06/01 11:38:26 chris Exp $");
#include "opt_dkwedge.h"
@@ -852,6 +852,7 @@ dkwedge_read(struct disk *pdk, struct vnode *vp, daddr_t blkno,
void *tbuf, size_t len)
{
struct buf b;
+ int result;
buf_init(&b);
@@ -864,7 +865,9 @@ dkwedge_read(struct disk *pdk, struct vnode *vp, daddr_t blkno,
b.b_data = tbuf;
VOP_STRATEGY(vp, &b);
- return (biowait(&b));
+ result = biowait(&b);
+ buf_destroy(&b);
+ return result;
}
/*