summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormlelstv <mlelstv@NetBSD.org>2015-12-21 12:30:29 +0000
committermlelstv <mlelstv@NetBSD.org>2015-12-21 12:30:29 +0000
commitac8ef2679ec062c42846db592f0929b379128ee4 (patch)
tree022ae1cff851cad9ed6793ecf1f2acea4f0b04d6 /sys/dev
parentddab9046e95970da3305e87f0ce15020cf0fcb12 (diff)
more sanity checks
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/dksubr.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/dksubr.c b/sys/dev/dksubr.c
index 093feba4b44..0a0bd6593c7 100644
--- a/sys/dev/dksubr.c
+++ b/sys/dev/dksubr.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dksubr.c,v 1.83 2015/12/08 20:36:14 christos Exp $ */
+/* $NetBSD: dksubr.c,v 1.84 2015/12/21 12:30:29 mlelstv Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998, 1999, 2002, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.83 2015/12/08 20:36:14 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.84 2015/12/21 12:30:29 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -94,6 +94,8 @@ dk_init(struct dk_softc *dksc, device_t dev, int dtype)
void
dk_attach(struct dk_softc *dksc)
{
+ KASSERT(dksc->sc_dev != NULL);
+
mutex_init(&dksc->sc_iolock, MUTEX_DEFAULT, IPL_VM);
dksc->sc_flags |= DKF_READYFORDUMP;
#ifdef DIAGNOSTIC
@@ -307,6 +309,11 @@ dk_start(struct dk_softc *dksc, struct buf *bp)
const struct dkdriver *dkd = dksc->sc_dkdev.dk_driver;
int error;
+ if (!(dksc->sc_flags & DKF_INITED)) {
+ DPRINTF_FOLLOW(("%s: not inited\n", __func__));
+ return;
+ }
+
mutex_enter(&dksc->sc_iolock);
if (bp != NULL)