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);
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);