aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2015-05-14 19:17:08 -0400
committerDavid S. Miller <davem@davemloft.net>2015-05-14 22:28:48 -0400
commitc1c52db16e26a26b545821abae303310a074350f (patch)
treedcc0cfdc01faf904d475db5c5b708e505d401cd1 /drivers/net/ethernet
parente87a468eb97da35d8dc00e8fa9828b4de4ab69d0 (diff)
net/mlx4: Avoid 'may be used uninitialized' warnings
With a cross-compiler based on gcc-4.9, I see warnings like the following: drivers/net/ethernet/mellanox/mlx4/resource_tracker.c: In function 'mlx4_SW2HW_CQ_wrapper': drivers/net/ethernet/mellanox/mlx4/resource_tracker.c:3048:10: error: 'cq' may be used uninitialized in this function [-Werror=maybe-uninitialized] cq->mtt = mtt; I think the warning is spurious because we only use cq when cq_res_start_move_to() returns zero, and it always initializes *cq in that case. The srq case is similar. But maybe gcc isn't smart enough to figure that out. Initialize cq and srq explicitly to avoid the warnings. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/resource_tracker.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
index 92fce1b98558..bafe2180cf0c 100644
--- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
+++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
@@ -3187,7 +3187,7 @@ int mlx4_SW2HW_CQ_wrapper(struct mlx4_dev *dev, int slave,
3187 int cqn = vhcr->in_modifier; 3187 int cqn = vhcr->in_modifier;
3188 struct mlx4_cq_context *cqc = inbox->buf; 3188 struct mlx4_cq_context *cqc = inbox->buf;
3189 int mtt_base = cq_get_mtt_addr(cqc) / dev->caps.mtt_entry_sz; 3189 int mtt_base = cq_get_mtt_addr(cqc) / dev->caps.mtt_entry_sz;
3190 struct res_cq *cq; 3190 struct res_cq *cq = NULL;
3191 struct res_mtt *mtt; 3191 struct res_mtt *mtt;
3192 3192
3193 err = cq_res_start_move_to(dev, slave, cqn, RES_CQ_HW, &cq); 3193 err = cq_res_start_move_to(dev, slave, cqn, RES_CQ_HW, &cq);
@@ -3223,7 +3223,7 @@ int mlx4_HW2SW_CQ_wrapper(struct mlx4_dev *dev, int slave,
3223{ 3223{
3224 int err; 3224 int err;
3225 int cqn = vhcr->in_modifier; 3225 int cqn = vhcr->in_modifier;
3226 struct res_cq *cq; 3226 struct res_cq *cq = NULL;
3227 3227
3228 err = cq_res_start_move_to(dev, slave, cqn, RES_CQ_ALLOCATED, &cq); 3228 err = cq_res_start_move_to(dev, slave, cqn, RES_CQ_ALLOCATED, &cq);
3229 if (err) 3229 if (err)
@@ -3362,7 +3362,7 @@ int mlx4_SW2HW_SRQ_wrapper(struct mlx4_dev *dev, int slave,
3362 int err; 3362 int err;
3363 int srqn = vhcr->in_modifier; 3363 int srqn = vhcr->in_modifier;
3364 struct res_mtt *mtt; 3364 struct res_mtt *mtt;
3365 struct res_srq *srq; 3365 struct res_srq *srq = NULL;
3366 struct mlx4_srq_context *srqc = inbox->buf; 3366 struct mlx4_srq_context *srqc = inbox->buf;
3367 int mtt_base = srq_get_mtt_addr(srqc) / dev->caps.mtt_entry_sz; 3367 int mtt_base = srq_get_mtt_addr(srqc) / dev->caps.mtt_entry_sz;
3368 3368
@@ -3406,7 +3406,7 @@ int mlx4_HW2SW_SRQ_wrapper(struct mlx4_dev *dev, int slave,
3406{ 3406{
3407 int err; 3407 int err;
3408 int srqn = vhcr->in_modifier; 3408 int srqn = vhcr->in_modifier;
3409 struct res_srq *srq; 3409 struct res_srq *srq = NULL;
3410 3410
3411 err = srq_res_start_move_to(dev, slave, srqn, RES_SRQ_ALLOCATED, &srq); 3411 err = srq_res_start_move_to(dev, slave, srqn, RES_SRQ_ALLOCATED, &srq);
3412 if (err) 3412 if (err)