diff options
author | Joerg Roedel <jroedel@suse.de> | 2015-10-23 11:57:13 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2015-10-23 12:00:54 +0200 |
commit | 66ef950d1841487c852d68d00977726f1cd9f053 (patch) | |
tree | c33af2c8620fa3027bccc59243838deda5287040 /drivers/iommu | |
parent | a13c8f27e4d79420ae7bcb48123fa13851026428 (diff) | |
download | linux-66ef950d1841487c852d68d00977726f1cd9f053.tar.gz linux-66ef950d1841487c852d68d00977726f1cd9f053.tar.bz2 linux-66ef950d1841487c852d68d00977726f1cd9f053.zip |
iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope()
Propagate the error-value from the function ir_parse_ioapic_hpet_scope()
in parse_ioapics_under_ir() and cleanup its calling loop.
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu')
-rw-r--r-- | drivers/iommu/intel_irq_remapping.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c index 7843252afda8..f3a9bd1bea43 100644 --- a/drivers/iommu/intel_irq_remapping.c +++ b/drivers/iommu/intel_irq_remapping.c @@ -934,13 +934,18 @@ static int __init parse_ioapics_under_ir(void) bool ir_supported = false; int ioapic_idx; - for_each_iommu(iommu, drhd) - if (ecap_ir_support(iommu->ecap)) { - if (ir_parse_ioapic_hpet_scope(drhd->hdr, iommu)) - return -1; + for_each_iommu(iommu, drhd) { + int ret; - ir_supported = true; - } + if (!ecap_ir_support(iommu->ecap)) + continue; + + ret = ir_parse_ioapic_hpet_scope(drhd->hdr, iommu); + if (ret) + return ret; + + ir_supported = true; + } if (!ir_supported) return -ENODEV; |