Module Name:    src
Committed By:   martin
Date:           Sat May  5 15:08:15 UTC 2018

Modified Files:
        src/sys/dev/isa [netbsd-8]: wbsio.c

Log Message:
Pull up following revision(s) (requested by yamaguchi in ticket #789):

        sys/dev/isa/wbsio.c: revision 1.24

Use spin mutex to fix a panic

The GPIO part of wbsio(4) has a lock to keep the register access
order. In addition to the lock, gpio(4) has a look to prevent
multiple control through gpio_pin_ctl(). Those locks hold at
once when gpio_pin_ctl() is called, and the lock of gpio(4) hold
before that of wbsio(4).

Therefore, the wbsio(4) has to use spin lock if gpio(4) uses
spin lock.


To generate a diff of this commit:
cvs rdiff -u -r1.10.10.3 -r1.10.10.4 src/sys/dev/isa/wbsio.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/isa/wbsio.c
diff -u src/sys/dev/isa/wbsio.c:1.10.10.3 src/sys/dev/isa/wbsio.c:1.10.10.4
--- src/sys/dev/isa/wbsio.c:1.10.10.3	Mon Apr 16 14:28:23 2018
+++ src/sys/dev/isa/wbsio.c	Sat May  5 15:08:14 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: wbsio.c,v 1.10.10.3 2018/04/16 14:28:23 martin Exp $	*/
+/*	$NetBSD: wbsio.c,v 1.10.10.4 2018/05/05 15:08:14 martin Exp $	*/
 /*	$OpenBSD: wbsio.c,v 1.10 2015/03/14 03:38:47 jsg Exp $	*/
 /*
  * Copyright (c) 2008 Mark Kettenis <kette...@openbsd.org>
@@ -546,7 +546,7 @@ wbsio_gpio_rt_init(struct wbsio_softc *s
 	aprint_normal_dev(sc->sc_dev, "GPIO: port 0x%x-0x%x\n",
 	    iobase, iobase + WBSIO_GPIO_IOSIZE);
 
-	mutex_init(&sc->sc_gpio_lock, MUTEX_DEFAULT, IPL_NONE);
+	mutex_init(&sc->sc_gpio_lock, MUTEX_DEFAULT, IPL_VM);
 
 	return 0;
 }

Reply via email to