From: Roger Pau Monné Date: Wed, 19 Feb 2020 11:19:04 +0000 (+0100) Subject: amd/iommu: fix missing unlock in iommu_read_log X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a42a466c0098decec8bd255ccb1a384ea878ec08;p=people%2Fdwmw2%2Fxen.git amd/iommu: fix missing unlock in iommu_read_log 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 --- 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;