Module Name: src Committed By: mlelstv Date: Mon Dec 21 12:30:29 UTC 2015
Modified Files: src/sys/dev: dksubr.c Log Message: more sanity checks To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 src/sys/dev/dksubr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/dksubr.c diff -u src/sys/dev/dksubr.c:1.83 src/sys/dev/dksubr.c:1.84 --- src/sys/dev/dksubr.c:1.83 Tue Dec 8 20:36:14 2015 +++ src/sys/dev/dksubr.c Mon Dec 21 12:30:29 2015 @@ -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 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 b 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)