From: Dan Carpenter Date: Thu, 9 Jan 2014 05:32:36 +0000 (+0300) Subject: iommu/vt-d: Fix signedness bug in alloc_irte() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9f4c7448f46b881119998702530676b3400752a9;p=linux-beck.git iommu/vt-d: Fix signedness bug in alloc_irte() "index" needs to be signed for the error handling to work. I deleted a little bit of obsolete cruft related to "index" and "start_index" as well. Fixes: 360eb3c5687e ('iommu/vt-d: use dedicated bitmap to track remapping entry allocation status') Signed-off-by: Dan Carpenter Signed-off-by: Joerg Roedel --- diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c index f307a3fb93ce..b30b423c5aca 100644 --- a/drivers/iommu/intel_irq_remapping.c +++ b/drivers/iommu/intel_irq_remapping.c @@ -71,18 +71,13 @@ static int alloc_irte(struct intel_iommu *iommu, int irq, u16 count) struct ir_table *table = iommu->ir_table; struct irq_2_iommu *irq_iommu = irq_2_iommu(irq); struct irq_cfg *cfg = irq_get_chip_data(irq); - u16 index, start_index; unsigned int mask = 0; unsigned long flags; + int index; if (!count || !irq_iommu) return -1; - /* - * start the IRTE search from index 0. - */ - index = start_index = 0; - if (count > 1) { count = __roundup_pow_of_two(count); mask = ilog2(count);