Commit 2ab573c5 authored by Yevgeny Petrilin's avatar Yevgeny Petrilin Committed by David S. Miller

net/mlx4: fixing sparse warnings when copying mac, address to gid entry

The mac should be written as __be64 the gid. The warning was because
we changed the mac parameter, which is u64, by writing result of cpu_to_be64
into it. Fixing by using new variable of type __be64.
Signed-off-by: default avatarYevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 39b2c4eb
...@@ -79,13 +79,14 @@ static int mlx4_uc_steer_add(struct mlx4_dev *dev, u8 port, u64 mac, int *qpn) ...@@ -79,13 +79,14 @@ static int mlx4_uc_steer_add(struct mlx4_dev *dev, u8 port, u64 mac, int *qpn)
{ {
struct mlx4_qp qp; struct mlx4_qp qp;
u8 gid[16] = {0}; u8 gid[16] = {0};
__be64 be_mac;
int err; int err;
qp.qpn = *qpn; qp.qpn = *qpn;
mac &= 0xffffffffffffULL; mac &= 0xffffffffffffULL;
mac = cpu_to_be64(mac << 16); be_mac = cpu_to_be64(mac << 16);
memcpy(&gid[10], &mac, ETH_ALEN); memcpy(&gid[10], &be_mac, ETH_ALEN);
gid[5] = port; gid[5] = port;
err = mlx4_unicast_attach(dev, &qp, gid, 0, MLX4_PROT_ETH); err = mlx4_unicast_attach(dev, &qp, gid, 0, MLX4_PROT_ETH);
...@@ -100,11 +101,12 @@ static void mlx4_uc_steer_release(struct mlx4_dev *dev, u8 port, ...@@ -100,11 +101,12 @@ static void mlx4_uc_steer_release(struct mlx4_dev *dev, u8 port,
{ {
struct mlx4_qp qp; struct mlx4_qp qp;
u8 gid[16] = {0}; u8 gid[16] = {0};
__be64 be_mac;
qp.qpn = qpn; qp.qpn = qpn;
mac &= 0xffffffffffffULL; mac &= 0xffffffffffffULL;
mac = cpu_to_be64(mac << 16); be_mac = cpu_to_be64(mac << 16);
memcpy(&gid[10], &mac, ETH_ALEN); memcpy(&gid[10], &be_mac, ETH_ALEN);
gid[5] = port; gid[5] = port;
mlx4_unicast_detach(dev, &qp, gid, MLX4_PROT_ETH); mlx4_unicast_detach(dev, &qp, gid, MLX4_PROT_ETH);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment