net/mlx4: suppress 'may be used uninitialized' warning
authorGreg Thelen <gthelen@google.com>
Tue, 18 Apr 2017 06:21:35 +0000 (23:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Apr 2017 17:19:21 +0000 (13:19 -0400)
gcc 4.8.4 complains that mlx4_SW2HW_MPT_wrapper() uses an uninitialized
'mpt' variable:
  drivers/net/ethernet/mellanox/mlx4/resource_tracker.c: In function 'mlx4_SW2HW_MPT_wrapper':
  drivers/net/ethernet/mellanox/mlx4/resource_tracker.c:2802:12: warning: 'mpt' may be used uninitialized in this function [-Wmaybe-uninitialized]
     mpt->mtt = mtt;

I think this warning is a false complaint.  mpt is only used when
mr_res_start_move_to() return zero, and in all such cases it initializes
mpt.  But apparently gcc cannot see that.

Initialize mpt to avoid the warning.

Signed-off-by: Greg Thelen <gthelen@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c

index d8d5d16..4aa29ee 100644 (file)
@@ -2749,7 +2749,7 @@ int mlx4_SW2HW_MPT_wrapper(struct mlx4_dev *dev, int slave,
        int err;
        int index = vhcr->in_modifier;
        struct res_mtt *mtt;
-       struct res_mpt *mpt;
+       struct res_mpt *mpt = NULL;
        int mtt_base = mr_get_mtt_addr(inbox->buf) / dev->caps.mtt_entry_sz;
        int phys;
        int id;