[PATCH 3.2 113/147] IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable

From: Ben Hutchings
Date: Mon Nov 06 2017 - 20:21:06 EST


3.2.95-rc1 review patch. If anyone has any objections, please let me know.

------------------

From: Paul Bolle <pebolle@xxxxxxxxxx>

commit 57d88cffc83a2120266bbe9e72cbba5bd5f33675 upstream.

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@xxxxxxxxxx>

[ Get rid of unnecessary move of 'is_vlan' initialization. - Roland ]

Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
drivers/infiniband/hw/mlx4/qp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/infiniband/hw/mlx4/qp.c
+++ b/drivers/infiniband/hw/mlx4/qp.c
@@ -1363,7 +1363,7 @@ static int build_mlx_header(struct mlx4_
int is_eth;
int is_vlan = 0;
int is_grh;
- u16 vlan;
+ u16 vlan = 0xffff;

send_size = 0;
for (i = 0; i < wr->num_sge; ++i)