diff options
author | adrian <adrian@FreeBSD.org> | 2011-12-20 03:25:11 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2011-12-20 03:25:11 +0000 |
commit | 5e51e76f4266418b08c4d7da0f85f3e18952cddd (patch) | |
tree | 717db28c23f78fd88b271678b804494c5139f6dd /sys/dev/gpio/gpioiic.c | |
parent | 943f0fd2d31fd1a7dd68ffe51021b477003ce1be (diff) | |
download | FreeBSD-src-5e51e76f4266418b08c4d7da0f85f3e18952cddd.zip FreeBSD-src-5e51e76f4266418b08c4d7da0f85f3e18952cddd.tar.gz |
Fix broken locking that I introduced in the previous commit.
Diffstat (limited to 'sys/dev/gpio/gpioiic.c')
-rw-r--r-- | sys/dev/gpio/gpioiic.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/gpio/gpioiic.c b/sys/dev/gpio/gpioiic.c index 923b21f..2a6d093 100644 --- a/sys/dev/gpio/gpioiic.c +++ b/sys/dev/gpio/gpioiic.c @@ -203,11 +203,13 @@ gpioiic_reset(device_t dev, u_char speed, u_char addr, u_char *oldaddr) { struct gpioiic_softc *sc = device_get_softc(dev); + GPIOBUS_LOCK_BUS(sc->sc_busdev); GPIOBUS_ACQUIRE_BUS(sc->sc_busdev, sc->sc_dev); gpioiic_reset_bus(sc->sc_dev); GPIOBUS_RELEASE_BUS(sc->sc_busdev, sc->sc_dev); + GPIOBUS_UNLOCK_BUS(sc->sc_busdev); return (IIC_ENOADDR); } |