[ofa-general] [PATCH] infiniband: change flags from int to long

Steven Rostedt rostedt at goodmis.org
Tue Aug 12 07:32:51 PDT 2008


It is a bug to have irq saved flags as an int and not long since
some archs may use more that 32 bits in flags.

(This patch was only compiled tested)

[
 Found by the -rt patch checks. These should now be in mainline,
 but it looks like they may not have been used.
]

Signed-off-by: Steven Rostedt <srostedt at redhat.com>
---
 drivers/infiniband/hw/ipath/ipath_verbs.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linus.git/drivers/infiniband/hw/ipath/ipath_verbs.c
===================================================================
--- linus.git.orig/drivers/infiniband/hw/ipath/ipath_verbs.c	2008-08-12 10:23:25.000000000 -0400
+++ linus.git/drivers/infiniband/hw/ipath/ipath_verbs.c	2008-08-12 10:25:24.000000000 -0400
@@ -1021,7 +1021,7 @@ static void sdma_complete(void *cookie, 
 	struct ipath_verbs_txreq *tx = cookie;
 	struct ipath_qp *qp = tx->qp;
 	struct ipath_ibdev *dev = to_idev(qp->ibqp.device);
-	unsigned int flags;
+	unsigned long flags;
 	enum ib_wc_status ibs = status == IPATH_SDMA_TXREQ_S_OK ?
 		IB_WC_SUCCESS : IB_WC_WR_FLUSH_ERR;
 
@@ -1051,7 +1051,7 @@ static void sdma_complete(void *cookie, 
 
 static void decrement_dma_busy(struct ipath_qp *qp)
 {
-	unsigned int flags;
+	unsigned long flags;
 
 	if (atomic_dec_and_test(&qp->s_dma_busy)) {
 		spin_lock_irqsave(&qp->s_lock, flags);
@@ -1221,7 +1221,7 @@ static int ipath_verbs_send_pio(struct i
 	unsigned flush_wc;
 	u32 control;
 	int ret;
-	unsigned int flags;
+	unsigned long flags;
 
 	piobuf = ipath_getpiobuf(dd, plen, NULL);
 	if (unlikely(piobuf == NULL)) {




More information about the general mailing list