svn commit: r271915 - projects/arm_intrng/sys/arm/arm

Ian Lepore ian at FreeBSD.org
Sun Sep 21 03:00:30 UTC 2014


Author: ian
Date: Sun Sep 21 03:00:30 2014
New Revision: 271915
URL: http://svnweb.freebsd.org/changeset/base/271915

Log:
  Don't register as an interrupt controller until after resource allocation
  and all the other up-front things that could fail.

Modified:
  projects/arm_intrng/sys/arm/arm/gic.c

Modified: projects/arm_intrng/sys/arm/arm/gic.c
==============================================================================
--- projects/arm_intrng/sys/arm/arm/gic.c	Sun Sep 21 00:20:41 2014	(r271914)
+++ projects/arm_intrng/sys/arm/arm/gic.c	Sun Sep 21 03:00:30 2014	(r271915)
@@ -210,8 +210,6 @@ arm_gic_attach(device_t dev)
 	sc->gic_c_bst = rman_get_bustag(sc->gic_res[1]);
 	sc->gic_c_bsh = rman_get_bushandle(sc->gic_res[1]);
 
-	arm_register_pic(dev, PIC_FEATURE_IPI);
-
 	if (bus_setup_intr(dev, sc->gic_res[2], INTR_TYPE_MISC | INTR_CONTROLLER,
 	    arm_gic_intr, NULL, sc, &sc->gic_intrhand)) {
 		device_printf(dev, "could not setup interrupt handler\n");
@@ -219,6 +217,8 @@ arm_gic_attach(device_t dev)
 		return (ENXIO);
 	}
 
+	arm_register_pic(dev, PIC_FEATURE_IPI);
+
 	/* Disable interrupt forwarding to the CPU interface */
 	gic_d_write_4(sc, GICD_CTLR, 0x00);
 


More information about the svn-src-projects mailing list