Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Oct 2020 15:18:10 +0000 (UTC)
From:      Ruslan Bukin <br@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r367084 - head/sys/arm64/arm64
Message-ID:  <202010271518.09RFIAaO024155@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: br
Date: Tue Oct 27 15:18:10 2020
New Revision: 367084
URL: https://svnweb.freebsd.org/changeset/base/367084

Log:
  Take the ITS device lock around gicv3_its_release_irqsrc() since that
  function checks that the mutex lock is owned.
  
  This fixes 'devctl disable re0' operation.
  
  Sponsored by:	Innovate DSbD
  Differential Revision:	https://reviews.freebsd.org/D26904

Modified:
  head/sys/arm64/arm64/gicv3_its.c

Modified: head/sys/arm64/arm64/gicv3_its.c
==============================================================================
--- head/sys/arm64/arm64/gicv3_its.c	Tue Oct 27 15:10:50 2020	(r367083)
+++ head/sys/arm64/arm64/gicv3_its.c	Tue Oct 27 15:18:10 2020	(r367084)
@@ -1418,7 +1418,9 @@ gicv3_its_release_msix(device_t dev, device_t child, s
 
 	sc = device_get_softc(dev);
 	girq = (struct gicv3_its_irqsrc *)isrc;
+	mtx_lock_spin(&sc->sc_its_dev_lock);
 	gicv3_its_release_irqsrc(sc, girq);
+	mtx_unlock_spin(&sc->sc_its_dev_lock);
 	its_dev->lpis.lpi_busy--;
 
 	if (its_dev->lpis.lpi_busy == 0)



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