diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/aac/aac.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c index 0aa9b05..6ee6d20 100644 --- a/sys/dev/aac/aac.c +++ b/sys/dev/aac/aac.c @@ -2715,12 +2715,14 @@ aac_describe_controller(struct aac_softc *sc) debug_called(2); + mtx_lock(&sc->aac_io_lock); aac_alloc_sync_fib(sc, &fib); fib->data[0] = 0; if (aac_sync_fib(sc, RequestAdapterInfo, 0, fib, 1)) { device_printf(sc->aac_dev, "RequestAdapterInfo failed\n"); aac_release_sync_fib(sc); + mtx_unlock(&sc->aac_io_lock); return; } @@ -2776,6 +2778,7 @@ aac_describe_controller(struct aac_softc *sc) "\24HEATSENSOR"); } aac_release_sync_fib(sc); + mtx_unlock(&sc->aac_io_lock); } /* |