summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authordbj <dbj@NetBSD.org>2006-08-24 21:57:11 +0000
committerdbj <dbj@NetBSD.org>2006-08-24 21:57:11 +0000
commitf7434c54518ccbaef432fd2b828c79448264e129 (patch)
tree73aaacc88da0c7af0b9153b72837bddfb0ee5a8c /sys/dev
parent5464d4dc61a6bf55568746b3bd67ae317ba50a30 (diff)
avoid diagnostic panic if both blk and chr wedge are open at the same time
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/dkwedge/dk.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/dev/dkwedge/dk.c b/sys/dev/dkwedge/dk.c
index 9a2ea966d0f..43f99485eb5 100644
--- a/sys/dev/dkwedge/dk.c
+++ b/sys/dev/dkwedge/dk.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dk.c,v 1.16 2006/07/21 16:48:48 ad Exp $ */
+/* $NetBSD: dk.c,v 1.17 2006/08/24 21:57:11 dbj Exp $ */
/*-
* Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.16 2006/07/21 16:48:48 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dk.c,v 1.17 2006/08/24 21:57:11 dbj Exp $");
#include "opt_dkwedge.h"
@@ -921,13 +921,13 @@ dkopen(dev_t dev, int flags, int fmt, struct lwp *l)
VOP_UNLOCK(vp, 0);
sc->sc_parent->dk_rawvp = vp;
}
- if (fmt == S_IFCHR)
- sc->sc_dk.dk_copenmask |= 1;
- else
- sc->sc_dk.dk_bopenmask |= 1;
- sc->sc_dk.dk_openmask =
- sc->sc_dk.dk_copenmask | sc->sc_dk.dk_bopenmask;
}
+ if (fmt == S_IFCHR)
+ sc->sc_dk.dk_copenmask |= 1;
+ else
+ sc->sc_dk.dk_bopenmask |= 1;
+ sc->sc_dk.dk_openmask =
+ sc->sc_dk.dk_copenmask | sc->sc_dk.dk_bopenmask;
popen_fail:
(void) lockmgr(&sc->sc_parent->dk_rawlock, LK_RELEASE, NULL);