Module Name: src
Committed By: yamaguchi
Date: Wed Apr 25 08:29:45 UTC 2018
Modified Files:
src/sys/dev/isa: wbsio.c
Log Message:
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.23 -r1.24 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.23 src/sys/dev/isa/wbsio.c:1.24
--- src/sys/dev/isa/wbsio.c:1.23 Wed Mar 7 09:25:56 2018
+++ src/sys/dev/isa/wbsio.c Wed Apr 25 08:29:45 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: wbsio.c,v 1.23 2018/03/07 09:25:56 msaitoh Exp $ */
+/* $NetBSD: wbsio.c,v 1.24 2018/04/25 08:29:45 yamaguchi Exp $ */
/* $OpenBSD: wbsio.c,v 1.10 2015/03/14 03:38:47 jsg Exp $ */
/*
* Copyright (c) 2008 Mark Kettenis <[email protected]>
@@ -547,7 +547,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;
}