spin_lock_irqsave(&iommu->lock, flags);
- if ( iommu->enabled )
- {
- spin_unlock_irqrestore(&iommu->lock, flags);
- return;
- }
+ if ( unlikely(iommu->enabled) )
+ goto out;
amd_iommu_erratum_746_workaround(iommu);
amd_iommu_flush_all_caches(iommu);
iommu->enabled = 1;
+
+ out:
spin_unlock_irqrestore(&iommu->lock, flags);
}
spin_lock_irqsave(&iommu->lock, flags);
- if ( !iommu->enabled )
- {
- spin_unlock_irqrestore(&iommu->lock, flags);
- return;
- }
+ if ( unlikely(!iommu->enabled) )
+ goto out;
if ( !iommu->ctrl.int_cap_xt_en )
amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
iommu->enabled = 0;
+ out:
spin_unlock_irqrestore(&iommu->lock, flags);
}