diff options
| author | mlelstv <mlelstv@NetBSD.org> | 2015-12-21 12:30:29 +0000 |
|---|---|---|
| committer | mlelstv <mlelstv@NetBSD.org> | 2015-12-21 12:30:29 +0000 |
| commit | ac8ef2679ec062c42846db592f0929b379128ee4 (patch) | |
| tree | 022ae1cff851cad9ed6793ecf1f2acea4f0b04d6 /sys/dev | |
| parent | ddab9046e95970da3305e87f0ce15020cf0fcb12 (diff) | |
more sanity checks
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/dksubr.c | 11 |
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) |
