Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit faea13b7 authored by Dan Carpenter's avatar Dan Carpenter Committed by Will Deacon
Browse files

iommu/arm-smmu: fix a signedness bug



Unsigned char is never equal to -1.

Cc: <stable@vger.kernel.org>
Tested-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 272b98c6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -377,6 +377,7 @@ struct arm_smmu_cfg {
	u32				cbar;
	pgd_t				*pgd;
};
#define INVALID_IRPTNDX			0xff

#define ARM_SMMU_CB_ASID(cfg)		((cfg)->cbndx)
#define ARM_SMMU_CB_VMID(cfg)		((cfg)->cbndx + 1)
@@ -840,7 +841,7 @@ static int arm_smmu_init_domain_context(struct iommu_domain *domain,
	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;
	}

@@ -869,7 +870,7 @@ static void arm_smmu_destroy_domain_context(struct iommu_domain *domain)
	writel_relaxed(0, cb_base + ARM_SMMU_CB_SCTLR);
	arm_smmu_tlb_inv_context(root_cfg);

	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);
	}