[PATCH] vfio: platform: ignore missing reset if disabled at module init

Tomasz Duszynski posted 1 patch 2 years, 7 months ago
There is a newer version of this series
drivers/vfio/platform/vfio_platform_common.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] vfio: platform: ignore missing reset if disabled at module init
Posted by Tomasz Duszynski 2 years, 7 months ago
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")
---
 drivers/vfio/platform/vfio_platform_common.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c
index 1a0a238ffa35..c09ffab6fbe6 100644
--- a/drivers/vfio/platform/vfio_platform_common.c
+++ b/drivers/vfio/platform/vfio_platform_common.c
@@ -653,7 +653,8 @@ int vfio_platform_init_common(struct vfio_platform_device *vdev)
 	if (ret && vdev->reset_required)
 		dev_err(dev, "No reset function found for device %s\n",
 			vdev->name);
-	return ret;
+
+	return vdev->reset_required ? ret : 0;
 }
 EXPORT_SYMBOL_GPL(vfio_platform_init_common);
 
-- 
2.34.1
RE: [PATCH] vfio: platform: ignore missing reset if disabled at module init
Posted by Tian, Kevin 2 years, 7 months ago
> From: Tomasz Duszynski <tduszynski@marvell.com>
> Sent: Thursday, January 26, 2023 12:11 AM
> @@ -653,7 +653,8 @@ int vfio_platform_init_common(struct
> vfio_platform_device *vdev)
>  	if (ret && vdev->reset_required)
>  		dev_err(dev, "No reset function found for device %s\n",
>  			vdev->name);
> -	return ret;
> +
> +	return vdev->reset_required ? ret : 0;
>  }
>  EXPORT_SYMBOL_GPL(vfio_platform_init_common);

It reads slightly better to me as below:

	if (ret & vdev->reset_required) {
		dev_err(...);
		return ret;
	}

	return 0;
RE: [PATCH] vfio: platform: ignore missing reset if disabled at module init
Posted by Tomasz Duszynski 2 years, 7 months ago
>-----Original Message-----
>From: Tian, Kevin <kevin.tian@intel.com>
>Sent: Monday, January 30, 2023 10:06 AM
>To: Tomasz Duszynski <tduszynski@marvell.com>; Eric Auger <eric.auger@redhat.com>; Alex Williamson
><alex.williamson@redhat.com>; Cornelia Huck <cohuck@redhat.com>; Jason Gunthorpe <jgg@ziepe.ca>;
>open list:VFIO PLATFORM DRIVER <kvm@vger.kernel.org>; open list <linux-kernel@vger.kernel.org>
>Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
>Subject: [EXT] RE: [PATCH] vfio: platform: ignore missing reset if disabled at module init
>
>External Email
>
>----------------------------------------------------------------------
>> From: Tomasz Duszynski <tduszynski@marvell.com>
>> Sent: Thursday, January 26, 2023 12:11 AM @@ -653,7 +653,8 @@ int
>> vfio_platform_init_common(struct vfio_platform_device *vdev)
>>  	if (ret && vdev->reset_required)
>>  		dev_err(dev, "No reset function found for device %s\n",
>>  			vdev->name);
>> -	return ret;
>> +
>> +	return vdev->reset_required ? ret : 0;
>>  }
>>  EXPORT_SYMBOL_GPL(vfio_platform_init_common);
>
>It reads slightly better to me as below:
>
>	if (ret & vdev->reset_required) {
>		dev_err(...);
>		return ret;
>	}
>
>	return 0;

Sure no problem. 
Re: [PATCH] vfio: platform: ignore missing reset if disabled at module init
Posted by Eric Auger 2 years, 7 months ago
Hi,

On 1/30/23 10:05, Tian, Kevin wrote:
>> From: Tomasz Duszynski <tduszynski@marvell.com>
>> Sent: Thursday, January 26, 2023 12:11 AM
>> @@ -653,7 +653,8 @@ int vfio_platform_init_common(struct
>> vfio_platform_device *vdev)
>>  	if (ret && vdev->reset_required)
>>  		dev_err(dev, "No reset function found for device %s\n",
>>  			vdev->name);
>> -	return ret;
>> +
>> +	return vdev->reset_required ? ret : 0;
>>  }
>>  EXPORT_SYMBOL_GPL(vfio_platform_init_common);
> It reads slightly better to me as below:
>
> 	if (ret & vdev->reset_required) {
> 		dev_err(...);
> 		return ret;
> 	}
>
> 	return 0;
>
agreed.

Thanks

Eric