From: Thomas Gleixner Date: Wed, 7 May 2014 15:44:10 +0000 (+0000) Subject: iommu: smar: Fix return value check of create_irq() X-Git-Tag: firefly_0821_release~176^2~3785^2~17^2~25 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=aa5125a45568f8f666f6d2f224fe8ab261b1069e;p=firefly-linux-kernel-4.4.55.git iommu: smar: Fix return value check of create_irq() ia64 returns a negative error code when allocation fails andx86 returns 0. Make it handle both. Signed-off-by: Thomas Gleixner Reviewed-by: Grant Likely Cc: Tony Luck Cc: Peter Zijlstra Cc: Fenghua Yu Cc: x86@kernel.org Acked-by: Joerg Roedel Cc: linux-ia64@vger.kernel.org Cc: iommu@lists.linux-foundation.org Link: http://lkml.kernel.org/r/20140507154336.178850165@linutronix.de Signed-off-by: Thomas Gleixner --- diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c index 39f8b717fe84..3ce1f62a091f 100644 --- a/drivers/iommu/dmar.c +++ b/drivers/iommu/dmar.c @@ -1551,7 +1551,7 @@ int dmar_set_interrupt(struct intel_iommu *iommu) return 0; irq = create_irq(); - if (!irq) { + if (irq <= 0) { pr_err("IOMMU: no free vectors\n"); return -EINVAL; }