From a42a466c0098decec8bd255ccb1a384ea878ec08 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roger=20Pau=20Monn=C3=A9?= Date: Wed, 19 Feb 2020 12:19:04 +0100 Subject: [PATCH] amd/iommu: fix missing unlock in iommu_read_log MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Coverity-ID: 1458632 Fixes: 709d3ddea2d5e ('AMD/IOMMU: Common the #732/#733 errata handling in iommu_read_log()') Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper --- xen/drivers/passthrough/amd/iommu_init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c index 4c86848c52..d9a4b0f802 100644 --- a/xen/drivers/passthrough/amd/iommu_init.c +++ b/xen/drivers/passthrough/amd/iommu_init.c @@ -338,7 +338,7 @@ static int iommu_read_log(struct amd_iommu *iommu, { AMD_IOMMU_DEBUG("AMD-Vi: No entry written to %s Log\n", log == &iommu->event_log ? "Event" : "PPR"); - return 0; + goto out; } udelay(1); code = MASK_EXTR(ACCESS_ONCE(entry[1]), IOMMU_EVENT_CODE_MASK); @@ -357,6 +357,7 @@ static int iommu_read_log(struct amd_iommu *iommu, writel(log->head, iommu->mmio_base + head_offset); } + out: spin_unlock(&log->lock); return 0; -- 2.39.5