Michael S. Tsirkin
2023-Mar-27 13:36 UTC
[PATCH] vdpa/mlx5: Add and remove debugfs in setup/teardown driver
On Sun, Mar 26, 2023 at 04:18:19PM +0300, Eli Cohen wrote:> The right place to add the debufs create is ins/debufs/debugfs/> setup_driver() and remove it in teardown_driver(). > > Current code adds the debugfs when creating the device but resetting a > device will remove the debugfs subtree and subsequent set_driver will > not be able to create the files since the debugfs pointer is NULL. > > Fixes: 294221004322 ("vdpa/mlx5: Add debugfs subtree") > Signed-off-by: Eli Cohen <elic at nvidia.com> > --- > drivers/vdpa/mlx5/net/mlx5_vnet.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c > index 2805d58378fb..d012732e3835 100644 > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c > @@ -2547,6 +2547,7 @@ static int setup_driver(struct mlx5_vdpa_dev *mvdev) > err = 0; > goto out; > } > + mlx5_vdpa_add_debugfs(ndev); > err = setup_virtqueues(mvdev); > if (err) { > mlx5_vdpa_warn(mvdev, "setup_virtqueues\n"); > @@ -2593,6 +2594,8 @@ static void teardown_driver(struct mlx5_vdpa_net *ndev) > if (!ndev->setup) > return; > > + mlx5_vdpa_remove_debugfs(ndev->debugfs); > + ndev->debugfs = NULL; > teardown_steering(ndev); > destroy_tir(ndev); > destroy_rqt(ndev); > @@ -3313,7 +3316,6 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name, > if (err) > goto err_reg; > > - mlx5_vdpa_add_debugfs(ndev); > mgtdev->ndev = ndev; > return 0; > > -- > 2.38.1