Author: imp
Date: Wed Mar 21 14:47:03 2018
New Revision: 331296
URL: https://svnweb.freebsd.org/changeset/base/331296

Log:
  These interrupts call shutdown_nice() which should be called Giant
  unlocked. Rather than dropping it in the interrupt handler, mark these
  handlers as MPSAFE.

Modified:
  head/sys/sparc64/sbus/sbus.c

Modified: head/sys/sparc64/sbus/sbus.c
==============================================================================
--- head/sys/sparc64/sbus/sbus.c        Wed Mar 21 14:46:59 2018        
(r331295)
+++ head/sys/sparc64/sbus/sbus.c        Wed Mar 21 14:47:03 2018        
(r331296)
@@ -411,7 +411,7 @@ sbus_attach(device_t dev)
            INTIGN(vec = rman_get_start(sc->sc_ot_ires)) != sc->sc_ign ||
            INTVEC(SYSIO_READ8(sc, SBR_THERM_INT_MAP)) != vec ||
            intr_vectors[vec].iv_ic != &sbus_ic ||
-           bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_BRIDGE,
+           bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_BRIDGE | 
INTR_MPSAFE,
            NULL, sbus_overtemp, sc, &sc->sc_ot_ihand) != 0)
                panic("%s: failed to set up temperature interrupt", __func__);
        i = 3;
@@ -421,7 +421,7 @@ sbus_attach(device_t dev)
            INTIGN(vec = rman_get_start(sc->sc_pf_ires)) != sc->sc_ign ||
            INTVEC(SYSIO_READ8(sc, SBR_POWER_INT_MAP)) != vec ||
            intr_vectors[vec].iv_ic != &sbus_ic ||
-           bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_BRIDGE,
+           bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_BRIDGE | 
INTR_MPSAFE,
            NULL, sbus_pwrfail, sc, &sc->sc_pf_ihand) != 0)
                panic("%s: failed to set up power fail interrupt", __func__);
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to