svn commit: r331296 - head/sys/sparc64/sbus

Warner Losh imp at FreeBSD.org
Wed Mar 21 14:47:04 UTC 2018


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__);
 


More information about the svn-src-all mailing list