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);
 

Reply via email to