diff --git a/sys/dev/esp/esp_sbus.c b/sys/dev/esp/esp_sbus.c index 95b2cebf3bc..05679384167 100644 --- a/sys/dev/esp/esp_sbus.c +++ b/sys/dev/esp/esp_sbus.c @@ -434,7 +434,7 @@ espattach(struct esp_softc *esc, struct ncr53c9x_glue *gluep) return; } if (bus_setup_intr(esc->sc_dev, esc->sc_irqres, - INTR_TYPE_BIO|INTR_ENTROPY, ncr53c9x_intr, sc, &esc->sc_irq)) { + INTR_TYPE_BIO|INTR_MPSAFE, ncr53c9x_intr, sc, &esc->sc_irq)) { device_printf(esc->sc_dev, "Cannot set up interrupt\n"); return; } diff --git a/sys/dev/esp/ncr53c9x.c b/sys/dev/esp/ncr53c9x.c index a222f3e366a..cecd1b49a47 100644 --- a/sys/dev/esp/ncr53c9x.c +++ b/sys/dev/esp/ncr53c9x.c @@ -1289,9 +1289,7 @@ ncr53c9x_done(struct ncr53c9x_softc *sc, struct ncr53c9x_ecb *ecb) ncr53c9x_free_ecb(sc, ecb); ti->cmds++; - mtx_unlock(&sc->sc_lock); xpt_done(ccb); - mtx_lock(&sc->sc_lock); } static void