Author: skra
Date: Thu Apr  7 15:26:12 2016
New Revision: 297677
URL: https://svnweb.freebsd.org/changeset/base/297677

Log:
  Properly initialize isrc_cpu field of ISRC which is setup for an IPI.

Modified:
  head/sys/arm/arm/gic.c

Modified: head/sys/arm/arm/gic.c
==============================================================================
--- head/sys/arm/arm/gic.c      Thu Apr  7 15:16:33 2016        (r297676)
+++ head/sys/arm/arm/gic.c      Thu Apr  7 15:26:12 2016        (r297677)
@@ -1003,13 +1003,18 @@ arm_gic_ipi_send(device_t dev, struct in
 static int
 arm_gic_ipi_setup(device_t dev, u_int ipi, struct intr_irqsrc **isrcp)
 {
+       struct intr_irqsrc *isrc;
        struct arm_gic_softc *sc = device_get_softc(dev);
 
        if (sgi_first_unused > GIC_LAST_SGI)
                return (ENOSPC);
 
-       *isrcp = GIC_INTR_ISRC(sc, sgi_first_unused);
+       isrc = GIC_INTR_ISRC(sc, sgi_first_unused);
        sgi_to_ipi[sgi_first_unused++] = ipi;
+
+       CPU_SET(PCPU_GET(cpuid), &isrc->isrc_cpu);
+
+       *isrcp = isrc;
        return (0);
 }
 #endif
_______________________________________________
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