]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
vdpa/mlx5: Forward error in suspend/resume device
authorDragos Tatulea <dtatulea@nvidia.com>
Wed, 26 Jun 2024 10:26:55 +0000 (13:26 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 9 Jul 2024 12:42:49 +0000 (08:42 -0400)
Start using the suspend/resume_vq() error return codes previously added.

Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev>
Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
Message-Id: <20240626-stage-vdpa-vq-precreate-v2-19-560c491078df@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
drivers/vdpa/mlx5/net/mlx5_vnet.c

index e65d488f7a083a514777023ea54bb0418d428279..ce1f6a1f36cd13985646a0a1467963a5dcda3c46 100644 (file)
@@ -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,