Browse Source

[IB] mthca: fix off by one in clr_int calculation

We should use the first word of the clear interrupt register if
the bit we're after is < 32, not < 31.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Michael S. Tsirkin 19 years ago
parent
commit
f7ed3a5971
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/infiniband/hw/mthca/mthca_eq.c

+ 1 - 1
drivers/infiniband/hw/mthca/mthca_eq.c

@@ -836,7 +836,7 @@ int __devinit mthca_init_eq_table(struct mthca_dev *dev)
 		dev->eq_table.clr_mask =
 		dev->eq_table.clr_mask =
 			swab32(1 << (dev->eq_table.inta_pin & 31));
 			swab32(1 << (dev->eq_table.inta_pin & 31));
 		dev->eq_table.clr_int  = dev->clr_base +
 		dev->eq_table.clr_int  = dev->clr_base +
-			(dev->eq_table.inta_pin < 31 ? 4 : 0);
+			(dev->eq_table.inta_pin < 32 ? 4 : 0);
 	}
 	}
 
 
 	dev->eq_table.arm_mask = 0;
 	dev->eq_table.arm_mask = 0;