Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1253496 > unrolled thread

[Patch v2] iommu/vt-d: Adjsut the return value of the parse_ioapics_under_ir

Started byBaoquan He <bhe@redhat.com>
First post2015-10-22 08:10 +0200
Last post2015-10-23 12:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [Patch v2] iommu/vt-d: Adjsut the return value of the parse_ioapics_under_ir Baoquan He <bhe@redhat.com> - 2015-10-22 08:10 +0200
    [PATCH] iommu/vt-d: Propagate error-value from  ir_parse_ioapic_hpet_scope() Joerg Roedel <joro@8bytes.org> - 2015-10-23 12:10 +0200

#1253496 — [Patch v2] iommu/vt-d: Adjsut the return value of the parse_ioapics_under_ir

FromBaoquan He <bhe@redhat.com>
Date2015-10-22 08:10 +0200
Subject[Patch v2] iommu/vt-d: Adjsut the return value of the parse_ioapics_under_ir
Message-ID<qmhey-21c-3@gated-at.bofh.it>
Adjust the return value of parse_ioapics_under_ir as negative value representing
failure and "0" representing succcess. Just make it consistent with other
function implementation, and we can judge if calling is successfull by
if (!parse_ioapics_under_ir()) style.

Signed-off-by: Baoquan He <bhe@redhat.com>
---
v1->v2:
    Drop the patch 2/1 of v1 patchset since it's a wrong patch.
    Joerg suggested that replace "-1" with "-ENODEV" which is more specific.

 drivers/iommu/intel_irq_remapping.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
index 9ec4e0d..12b11be 100644
--- a/drivers/iommu/intel_irq_remapping.c
+++ b/drivers/iommu/intel_irq_remapping.c
@@ -672,7 +672,7 @@ static int __init intel_prepare_irq_remapping(void)
 	if (!dmar_ir_support())
 		return -ENODEV;
 
-	if (parse_ioapics_under_ir() != 1) {
+	if (!parse_ioapics_under_ir()) {
 		pr_info("Not enabling interrupt remapping\n");
 		goto error;
 	}
@@ -916,7 +916,7 @@ static int __init parse_ioapics_under_ir(void)
 		}
 
 	if (!ir_supported)
-		return 0;
+		return -ENODEV;
 
 	for (ioapic_idx = 0; ioapic_idx < nr_ioapics; ioapic_idx++) {
 		int ioapic_id = mpc_ioapic_id(ioapic_idx);
@@ -928,7 +928,7 @@ static int __init parse_ioapics_under_ir(void)
 		}
 	}
 
-	return 1;
+	return 0;
 }
 
 static int __init ir_dev_scope_init(void)
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1254452 — [PATCH] iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope()

FromJoerg Roedel <joro@8bytes.org>
Date2015-10-23 12:10 +0200
Subject[PATCH] iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope()
Message-ID<qmHsn-6Fj-13@gated-at.bofh.it>
In reply to#1253496
On Thu, Oct 22, 2015 at 02:00:51PM +0800, Baoquan He wrote:
> Adjust the return value of parse_ioapics_under_ir as negative value representing
> failure and "0" representing succcess. Just make it consistent with other
> function implementation, and we can judge if calling is successfull by
> if (!parse_ioapics_under_ir()) style.
> 
> Signed-off-by: Baoquan He <bhe@redhat.com>

Applied thanks. I also put below patch on-top to also propate the error
value returned from ir_parse_ioapic_hpet_scope().

From 66ef950d1841487c852d68d00977726f1cd9f053 Mon Sep 17 00:00:00 2001
From: Joerg Roedel <jroedel@suse.de>
Date: Fri, 23 Oct 2015 11:57:13 +0200
Subject: [PATCH] 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>
---
 drivers/iommu/intel_irq_remapping.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
index 7843252..f3a9bd1 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;
-- 
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web