AMD IOMMU: spin_uinlock() on early return path.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 31 Jul 2008 14:38:09 +0000 (15:38 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 31 Jul 2008 14:38:09 +0000 (15:38 +0100)
Signed-off-by: Wei Wang <wei.wang2@amd.com>
xen/drivers/passthrough/amd/iommu_init.c

index 3bd91adf70001cf6b9cd2bd3ab408186b7b71154..0a2081fe39446b0c086514054f70df1548d91362 100644 (file)
@@ -477,7 +477,10 @@ void __init enable_iommu(struct amd_iommu *iommu)
     spin_lock_irqsave(&iommu->lock, flags);
 
     if ( iommu->enabled )
+    {
+        spin_unlock_irqrestore(&iommu->lock, flags); 
         return;
+    }
 
     iommu->dev_table.alloc_size = device_table.alloc_size;
     iommu->dev_table.entries = device_table.entries;