[PATCH] vdpa/mlx5: Add and remove debugfs in setup/teardown driver

Michael S. Tsirkin
Mon, 27 Mar 2023 13:36:36 -0000

On Sun, Mar 26, 2023 at 04:18:19PM +0300, Eli Cohen
wrote:
> The right place to add the debufs create is in

s/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