IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable
authorPaul Bolle <pebolle@tiscali.nl>
Mon, 25 Feb 2013 17:17:13 +0000 (09:17 -0800)
committerRoland Dreier <roland@purestorage.com>
Mon, 25 Feb 2013 17:17:13 +0000 (09:17 -0800)
Building qp.o triggers this gcc warning:

    drivers/infiniband/hw/mlx4/qp.c: In function ‘mlx4_ib_post_send’:
    drivers/infiniband/hw/mlx4/qp.c:1862:62: warning: ‘vlan’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    drivers/infiniband/hw/mlx4/qp.c:1752:6: note: ‘vlan’ was declared here

Looking at the code it is clear 'vlan' is only set and used if 'is_eth'
is non-zero. But by initializing 'vlan' to 0xffff, on

    gcc (Ubuntu 4.7.2-22ubuntu1) 4.7.2

on x86-64 at least, we fix the warning, and the compiler was already
setting 'vlan' to 0 in the generated code, so there's no real downside.

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
[ Get rid of unnecessary move of 'is_vlan' initialization.  - Roland ]

Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx4/qp.c

index f8ac533..ebadebe 100644 (file)
@@ -1747,7 +1747,7 @@ static int build_mlx_header(struct mlx4_ib_sqp *sqp, struct ib_send_wr *wr,
        int spc;
        int i;
        int err = 0;
-       u16 vlan;
+       u16 vlan = 0xffff;
        bool is_eth;
        bool is_vlan = false;
        bool is_grh;