Blob Blame History Raw
From: Eli Cohen <elic@nvidia.com>
Date: Thu, 9 Sep 2021 15:36:33 +0300
Subject: vdpa/mlx5: Remove mtu field from vdpa net device
Patch-mainline: v5.16-rc1
Git-commit: 246fd1caf0f4424a79fd7cb0a5fe69103ea7995b
References: jsc#PED-1549

No need to save the mtu int the net device struct. We can save it in the
config struct which cannot be modified.

Moreover, move the initialization to. mlx5_vdpa_set_features() callback
is not the right place to put it.

Signed-off-by: Eli Cohen <elic@nvidia.com>
Link: https://lore.kernel.org/r/20210909123635.30884-2-elic@nvidia.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/vdpa/mlx5/net/mlx5_vnet.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
@@ -159,7 +159,6 @@ struct mlx5_vdpa_net {
 	struct mlx5_fc *rx_counter;
 	struct mlx5_flow_handle *rx_rule;
 	bool setup;
-	u16 mtu;
 	u32 cur_num_vqs;
 };
 
@@ -1942,8 +1941,6 @@ static int mlx5_vdpa_set_features(struct
 		return err;
 
 	ndev->mvdev.actual_features = features & ndev->mvdev.mlx_features;
-	ndev->config.mtu = cpu_to_mlx5vdpa16(mvdev, ndev->mtu);
-	ndev->config.status |= cpu_to_mlx5vdpa16(mvdev, VIRTIO_NET_S_LINK_UP);
 	update_cvq_info(mvdev);
 	return err;
 }
@@ -2405,6 +2402,7 @@ static int mlx5_vdpa_dev_add(struct vdpa
 	struct mlx5_vdpa_net *ndev;
 	struct mlx5_core_dev *mdev;
 	u32 max_vqs;
+	u16 mtu;
 	int err;
 
 	if (mgtdev->ndev)
@@ -2432,10 +2430,13 @@ static int mlx5_vdpa_dev_add(struct vdpa
 	init_mvqs(ndev);
 	mutex_init(&ndev->reslock);
 	config = &ndev->config;
-	err = query_mtu(mdev, &ndev->mtu);
+	err = query_mtu(mdev, &mtu);
 	if (err)
 		goto err_mtu;
 
+	ndev->config.mtu = cpu_to_mlx5vdpa16(mvdev, mtu);
+	ndev->config.status |= cpu_to_mlx5vdpa16(mvdev, VIRTIO_NET_S_LINK_UP);
+
 	err = mlx5_query_nic_vport_mac_address(mdev, 0, 0, config->mac);
 	if (err)
 		goto err_mtu;