vfio: platform: ignore missing reset if disabled at module init
authorTomasz Duszynski <tduszynski@marvell.com>
Tue, 31 Jan 2023 08:33:49 +0000 (09:33 +0100)
committerAlex Williamson <alex.williamson@redhat.com>
Wed, 1 Feb 2023 19:25:41 +0000 (12:25 -0700)
If reset requirement was relaxed via module parameter, errors caused by
missing reset should not be propagated down to the vfio core.
Otherwise initialization will fail.

Signed-off-by: Tomasz Duszynski <tduszynski@marvell.com>
Fixes: 5f6c7e0831a1 ("vfio/platform: Use the new device life cycle helpers")
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Link: https://lore.kernel.org/r/20230131083349.2027189-1-tduszynski@marvell.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/platform/vfio_platform_common.c

index 9f27e8c..e53757d 100644 (file)
@@ -647,10 +647,13 @@ int vfio_platform_init_common(struct vfio_platform_device *vdev)
        mutex_init(&vdev->igate);
 
        ret = vfio_platform_get_reset(vdev);
-       if (ret && vdev->reset_required)
+       if (ret && vdev->reset_required) {
                dev_err(dev, "No reset function found for device %s\n",
                        vdev->name);
-       return ret;
+               return ret;
+       }
+
+       return 0;
 }
 EXPORT_SYMBOL_GPL(vfio_platform_init_common);