[lkml]   [2007]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: whole bunch o' new IB warnings
 > Current git tree on x86-64 (make allmodconfig) wants fixing for 2.6.22:
> drivers/infiniband/hw/mlx4/qp.c: In function ‘set_rq_size’:
> drivers/infiniband/hw/mlx4/qp.c:210: warning: comparison of distinct
> pointer types lacks a cast

Thanks, you're right. You have to admit, it's pretty amusing how many
times roundup_pow_of_two() expands its argument (via ilog2)...

Anyway, I have this queued up to fix it. I'll ask Linus to pull shortly.

commit 42c059ea2b0aac5f961253ba81c1b464d181a600
Author: Roland Dreier <>
Date: Tue Jun 12 10:52:02 2007 -0700

IB/mlx4: Fix warning in rounding up queue sizes

Doing max(1, foo) where foo is u32 generates a warning, because 1 is a
signed constant. Fix this by using 1U instead.

Signed-off-by: Roland Dreier <>

diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
index 5c6d054..4c15fa3 100644
--- a/drivers/infiniband/hw/mlx4/qp.c
+++ b/drivers/infiniband/hw/mlx4/qp.c
@@ -207,8 +207,8 @@ static int set_rq_size(struct mlx4_ib_dev *dev, struct ib_qp_cap *cap,
if (is_user && (!cap->max_recv_wr || !cap->max_recv_sge))
return -EINVAL;

- qp->rq.max = roundup_pow_of_two(max(1, cap->max_recv_wr));
- qp->rq.max_gs = roundup_pow_of_two(max(1, cap->max_recv_sge));
+ qp->rq.max = roundup_pow_of_two(max(1U, cap->max_recv_wr));
+ qp->rq.max_gs = roundup_pow_of_two(max(1U, cap->max_recv_sge));
qp->rq.wqe_shift = ilog2(qp->rq.max_gs * sizeof (struct mlx4_wqe_data_seg));

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at
 \ /
  Last update: 2007-06-13 22:59    [W:0.040 / U:56.880 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site