2005-02-03 05:40:25

by Roland Dreier

[permalink] [raw]
Subject: [PATCH] InfiniBand: add missing break between cases

From: Libor Michalek <[email protected]>

Add a missing break statement between RC and UD cases in mthca_post_send().
This fixes a possible oops for protocols that use the RC transport.

Signed-off-by: Libor Michalek <[email protected]>
Signed-off-by: Roland Dreier <[email protected]>

--- linux-bk.orig/drivers/infiniband/hw/mthca/mthca_qp.c 2005-01-28 11:11:02.000000000 -0800
+++ linux-bk/drivers/infiniband/hw/mthca/mthca_qp.c 2005-02-02 21:35:09.683871535 -0800
@@ -1323,6 +1323,8 @@
break;
}

+ break;
+
case UD:
((struct mthca_ud_seg *) wqe)->lkey =
cpu_to_be32(to_mah(wr->wr.ud.ah)->key);


2005-02-03 20:00:38

by Roland Dreier

[permalink] [raw]
Subject: [PATCH] InfiniBand: remove unbalance refcnt decrement

From: Michael S. Tsirkin <[email protected]>

Fix unbalanced QP reference count decrement (introduced with QP lock
optimization patch)

Signed-off-by: Michael S. Tsirkin <[email protected]>
Signed-off-by: Roland Dreier <[email protected]>

--- linux-bk.orig/drivers/infiniband/hw/mthca/mthca_cq.c 2005-01-28 11:11:03.000000000 -0800
+++ linux-bk/drivers/infiniband/hw/mthca/mthca_cq.c 2005-02-03 11:47:39.300426349 -0800
@@ -422,8 +422,6 @@
*freed = 0;
}
spin_unlock(&(*cur_qp)->lock);
- if (atomic_dec_and_test(&(*cur_qp)->refcount))
- wake_up(&(*cur_qp)->wait);
}

spin_lock(&dev->qp_table.lock);