Index: hca/qp.c
===================================================================
--- hca/qp.c	(revision 1131)
+++ hca/qp.c	(working copy)
@@ -664,7 +664,7 @@
 	}
 
 	for (qp->rq.wqe_shift = 4;
-	     (uint32_t)(1 << qp->rq.wqe_shift) < qp->rq.max_gs * sizeof (struct mlx4_wqe_data_seg);
+	     (1 << qp->rq.wqe_shift) < qp->rq.max_gs * (int) sizeof (struct mlx4_wqe_data_seg);
 	     qp->rq.wqe_shift++)
 		; /* nothing */
 
@@ -696,7 +696,7 @@
 	int wqe_size;
 	struct mlx4_context *ctx = to_mctx(qp->ibv_qp.context);
 
-	wqe_size = (uint32_t)(1 << qp->sq.wqe_shift) - sizeof (struct mlx4_wqe_ctrl_seg);
+	wqe_size = (1 << qp->sq.wqe_shift) - (int) sizeof (struct mlx4_wqe_ctrl_seg);
 	switch (type) {
 	case IBV_QPT_UD:
 		wqe_size -= sizeof (struct mlx4_wqe_datagram_seg);
