Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Apr 2016 15:26:13 +0000 (UTC)
From:      Svatopluk Kraus <skra@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r297677 - head/sys/arm/arm
Message-ID:  <201604071526.u37FQDck022287@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604071526.u37FQDck022287>