blob: b513e57953d4b7283c90283e70936081174cd838 [file] [log] [blame]
From faea13b72dbdb77e4d6ad83344596486611708b0 Mon Sep 17 00:00:00 2001
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Wed, 21 Aug 2013 09:33:30 +0100
Subject: iommu/arm-smmu: fix a signedness bug
From: Dan Carpenter <dan.carpenter@oracle.com>
commit faea13b72dbdb77e4d6ad83344596486611708b0 upstream.
Unsigned char is never equal to -1.
Tested-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/iommu/arm-smmu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -379,6 +379,7 @@ struct arm_smmu_cfg {
u32 cbar;
pgd_t *pgd;
};
+#define INVALID_IRPTNDX 0xff
struct arm_smmu_domain {
/*
@@ -830,7 +831,7 @@ static int arm_smmu_init_domain_context(
if (IS_ERR_VALUE(ret)) {
dev_err(smmu->dev, "failed to request context IRQ %d (%u)\n",
root_cfg->irptndx, irq);
- root_cfg->irptndx = -1;
+ root_cfg->irptndx = INVALID_IRPTNDX;
goto out_free_context;
}
@@ -855,7 +856,7 @@ static void arm_smmu_destroy_domain_cont
if (!smmu)
return;
- if (root_cfg->irptndx != -1) {
+ if (root_cfg->irptndx != INVALID_IRPTNDX) {
irq = smmu->irqs[smmu->num_global_irqs + root_cfg->irptndx];
free_irq(irq, domain);
}