Module Name: src Committed By: jakllsch Date: Wed Dec 7 17:35:01 UTC 2011
Modified Files: src/sys/dev/isapnp: mpu_isapnp.c Log Message: We need to hold the lock during mpu_find(). To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/dev/isapnp/mpu_isapnp.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/isapnp/mpu_isapnp.c diff -u src/sys/dev/isapnp/mpu_isapnp.c:1.19 src/sys/dev/isapnp/mpu_isapnp.c:1.20 --- src/sys/dev/isapnp/mpu_isapnp.c:1.19 Thu Nov 24 03:35:58 2011 +++ src/sys/dev/isapnp/mpu_isapnp.c Wed Dec 7 17:35:01 2011 @@ -1,7 +1,7 @@ -/* $NetBSD: mpu_isapnp.c,v 1.19 2011/11/24 03:35:58 mrg Exp $ */ +/* $NetBSD: mpu_isapnp.c,v 1.20 2011/12/07 17:35:01 jakllsch Exp $ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: mpu_isapnp.c,v 1.19 2011/11/24 03:35:58 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mpu_isapnp.c,v 1.20 2011/12/07 17:35:01 jakllsch Exp $"); #include "midi.h" @@ -71,12 +71,17 @@ mpu_isapnp_attach(device_t parent, devic sc->sc_mpu.ioh = ipa->ipa_io[0].h; sc->sc_mpu.lock = &sc->sc_lock; + mutex_enter(&sc->sc_lock); + if (!mpu_find(&sc->sc_mpu)) { aprint_error_dev(self, "find failed\n"); + mutex_exit(&sc->sc_lock); mutex_destroy(&sc->sc_lock); return; } + mutex_exit(&sc->sc_lock); + aprint_normal_dev(self, "%s %s\n", ipa->ipa_devident, ipa->ipa_devclass);