summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/intel_irq_remapping.c
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2014-01-09 06:32:36 +0100
committerJoerg Roedel <joro@8bytes.org>2014-01-09 13:05:45 +0100
commit9f4c7448f46b881119998702530676b3400752a9 (patch)
tree5ba0df189db07307763a24c6126972ddab6695fb /drivers/iommu/intel_irq_remapping.c
parentiommu/vt-d: free all resources if failed to initialize DMARs (diff)
downloadlinux-9f4c7448f46b881119998702530676b3400752a9.tar.xz
linux-9f4c7448f46b881119998702530676b3400752a9.zip
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 <dan.carpenter@oracle.com> Signed-off-by: Joerg Roedel <joro@8bytes.org>
Diffstat (limited to 'drivers/iommu/intel_irq_remapping.c')
-rw-r--r--drivers/iommu/intel_irq_remapping.c7
1 files changed, 1 insertions, 6 deletions
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);