[PATCH vhost 18/23] vdpa/mlx5: Forward error in suspend/resume device

Dragos Tatulea posted 23 patches 1 year, 6 months ago
There is a newer version of this series
[PATCH vhost 18/23] vdpa/mlx5: Forward error in suspend/resume device
Posted by Dragos Tatulea 1 year, 6 months ago
Start using the suspend/resume_vq() error return codes previously added.

Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
---
 drivers/vdpa/mlx5/net/mlx5_vnet.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
index f5d5b25cdb01..0e1c1b7ff297 100644
--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
@@ -3436,22 +3436,25 @@ static int mlx5_vdpa_suspend(struct vdpa_device *vdev)
 {
 	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
 	struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev);
+	int err;
 
 	mlx5_vdpa_info(mvdev, "suspending device\n");
 
 	down_write(&ndev->reslock);
 	unregister_link_notifier(ndev);
-	suspend_vqs(ndev);
+	err = suspend_vqs(ndev);
 	mlx5_vdpa_cvq_suspend(mvdev);
 	mvdev->suspended = true;
 	up_write(&ndev->reslock);
-	return 0;
+
+	return err;
 }
 
 static int mlx5_vdpa_resume(struct vdpa_device *vdev)
 {
 	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
 	struct mlx5_vdpa_net *ndev;
+	int err;
 
 	ndev = to_mlx5_vdpa_ndev(mvdev);
 
@@ -3459,10 +3462,11 @@ static int mlx5_vdpa_resume(struct vdpa_device *vdev)
 
 	down_write(&ndev->reslock);
 	mvdev->suspended = false;
-	resume_vqs(ndev);
+	err = resume_vqs(ndev);
 	register_link_notifier(ndev);
 	up_write(&ndev->reslock);
-	return 0;
+
+	return err;
 }
 
 static int mlx5_set_group_asid(struct vdpa_device *vdev, u32 group,

-- 
2.45.1
Re: [PATCH vhost 18/23] vdpa/mlx5: Forward error in suspend/resume device
Posted by Zhu Yanjun 1 year, 5 months ago
在 2024/6/17 23:07, Dragos Tatulea 写道:
> Start using the suspend/resume_vq() error return codes previously added.
> 
> Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
> Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
> ---
>   drivers/vdpa/mlx5/net/mlx5_vnet.c | 12 ++++++++----
>   1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> index f5d5b25cdb01..0e1c1b7ff297 100644
> --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> @@ -3436,22 +3436,25 @@ static int mlx5_vdpa_suspend(struct vdpa_device *vdev)
>   {
>   	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
>   	struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev);
> +	int err;

Reverse Christmas Tree?

Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev>

Zhu Yanjun
>   
>   	mlx5_vdpa_info(mvdev, "suspending device\n");
>   
>   	down_write(&ndev->reslock);
>   	unregister_link_notifier(ndev);
> -	suspend_vqs(ndev);
> +	err = suspend_vqs(ndev);
>   	mlx5_vdpa_cvq_suspend(mvdev);
>   	mvdev->suspended = true;
>   	up_write(&ndev->reslock);
> -	return 0;
> +
> +	return err;
>   }
>   
>   static int mlx5_vdpa_resume(struct vdpa_device *vdev)
>   {
>   	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
>   	struct mlx5_vdpa_net *ndev;
> +	int err;
>   
>   	ndev = to_mlx5_vdpa_ndev(mvdev);
>   
> @@ -3459,10 +3462,11 @@ static int mlx5_vdpa_resume(struct vdpa_device *vdev)
>   
>   	down_write(&ndev->reslock);
>   	mvdev->suspended = false;
> -	resume_vqs(ndev);
> +	err = resume_vqs(ndev);
>   	register_link_notifier(ndev);
>   	up_write(&ndev->reslock);
> -	return 0;
> +
> +	return err;
>   }
>   
>   static int mlx5_set_group_asid(struct vdpa_device *vdev, u32 group,
> 

Re: [PATCH vhost 18/23] vdpa/mlx5: Forward error in suspend/resume device
Posted by Dragos Tatulea 1 year, 5 months ago
On Sun, 2024-06-23 at 19:19 +0800, Zhu Yanjun wrote:
> 在 2024/6/17 23:07, Dragos Tatulea 写道:
> > Start using the suspend/resume_vq() error return codes previously added.
> > 
> > Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
> > Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
> > ---
> >   drivers/vdpa/mlx5/net/mlx5_vnet.c | 12 ++++++++----
> >   1 file changed, 8 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > index f5d5b25cdb01..0e1c1b7ff297 100644
> > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > @@ -3436,22 +3436,25 @@ static int mlx5_vdpa_suspend(struct vdpa_device *vdev)
> >   {
> >   	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
> >   	struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev);
> > +	int err;
> 
> Reverse Christmas Tree?
Would have fixed the code if it would have been part of the patch. But it isn't.

> 
> Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev>
> 
Thanks!

> Zhu Yanjun
> >   
> >   	mlx5_vdpa_info(mvdev, "suspending device\n");
> >   
> >   	down_write(&ndev->reslock);
> >   	unregister_link_notifier(ndev);
> > -	suspend_vqs(ndev);
> > +	err = suspend_vqs(ndev);
> >   	mlx5_vdpa_cvq_suspend(mvdev);
> >   	mvdev->suspended = true;
> >   	up_write(&ndev->reslock);
> > -	return 0;
> > +
> > +	return err;
> >   }
> >   
> >   static int mlx5_vdpa_resume(struct vdpa_device *vdev)
> >   {
> >   	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
> >   	struct mlx5_vdpa_net *ndev;
> > +	int err;
> >   
> >   	ndev = to_mlx5_vdpa_ndev(mvdev);
> >   
> > @@ -3459,10 +3462,11 @@ static int mlx5_vdpa_resume(struct vdpa_device *vdev)
> >   
> >   	down_write(&ndev->reslock);
> >   	mvdev->suspended = false;
> > -	resume_vqs(ndev);
> > +	err = resume_vqs(ndev);
> >   	register_link_notifier(ndev);
> >   	up_write(&ndev->reslock);
> > -	return 0;
> > +
> > +	return err;
> >   }
> >   
> >   static int mlx5_set_group_asid(struct vdpa_device *vdev, u32 group,
> > 
>