If a vdpa device is not in state DRIVER_OK, then there is no driver state
to preserve, so no need to call the suspend and resume driver ops.
Suggested-by: Eugenio Perez Martin <[email protected]>"
Signed-off-by: Steve Sistare <[email protected]>
---
drivers/vhost/vdpa.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index bc4a51e4638b..aef92a7c57f3 100644
--- a/drivers/vhost/vdpa.c
+++ b/drivers/vhost/vdpa.c
@@ -595,6 +595,9 @@ static long vhost_vdpa_suspend(struct vhost_vdpa *v)
const struct vdpa_config_ops *ops = vdpa->config;
int ret;
+ if (!(ops->get_status(vdpa) & VIRTIO_CONFIG_S_DRIVER_OK))
+ return 0;
+
if (!ops->suspend)
return -EOPNOTSUPP;
@@ -615,6 +618,9 @@ static long vhost_vdpa_resume(struct vhost_vdpa *v)
const struct vdpa_config_ops *ops = vdpa->config;
int ret;
+ if (!(ops->get_status(vdpa) & VIRTIO_CONFIG_S_DRIVER_OK))
+ return 0;
+
if (!ops->resume)
return -EOPNOTSUPP;
--
2.39.3
On Tue, Feb 13, 2024 at 3:26 PM Steve Sistare <[email protected]> wrote:
>
> If a vdpa device is not in state DRIVER_OK, then there is no driver state
> to preserve, so no need to call the suspend and resume driver ops.
>
> Suggested-by: Eugenio Perez Martin <[email protected]>"
> Signed-off-by: Steve Sistare <[email protected]>
Reviewed-by: Eugenio Pérez <[email protected]>
Please include a changelog from previous versions for the next series.
Thanks!
> ---
> drivers/vhost/vdpa.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index bc4a51e4638b..aef92a7c57f3 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -595,6 +595,9 @@ static long vhost_vdpa_suspend(struct vhost_vdpa *v)
> const struct vdpa_config_ops *ops = vdpa->config;
> int ret;
>
> + if (!(ops->get_status(vdpa) & VIRTIO_CONFIG_S_DRIVER_OK))
> + return 0;
> +
> if (!ops->suspend)
> return -EOPNOTSUPP;
>
> @@ -615,6 +618,9 @@ static long vhost_vdpa_resume(struct vhost_vdpa *v)
> const struct vdpa_config_ops *ops = vdpa->config;
> int ret;
>
> + if (!(ops->get_status(vdpa) & VIRTIO_CONFIG_S_DRIVER_OK))
> + return 0;
> +
> if (!ops->resume)
> return -EOPNOTSUPP;
>
> --
> 2.39.3
>
On 2/13/2024 9:58 AM, Eugenio Perez Martin wrote:
> On Tue, Feb 13, 2024 at 3:26 PM Steve Sistare <[email protected]> wrote:
>>
>> If a vdpa device is not in state DRIVER_OK, then there is no driver state
>> to preserve, so no need to call the suspend and resume driver ops.
>>
>> Suggested-by: Eugenio Perez Martin <[email protected]>"
>> Signed-off-by: Steve Sistare <[email protected]>
>
> Reviewed-by: Eugenio Pérez <[email protected]>
>
> Please include a changelog from previous versions for the next series.
>
> Thanks!
Will do, thanks - steve
>> ---
>> drivers/vhost/vdpa.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
>> index bc4a51e4638b..aef92a7c57f3 100644
>> --- a/drivers/vhost/vdpa.c
>> +++ b/drivers/vhost/vdpa.c
>> @@ -595,6 +595,9 @@ static long vhost_vdpa_suspend(struct vhost_vdpa *v)
>> const struct vdpa_config_ops *ops = vdpa->config;
>> int ret;
>>
>> + if (!(ops->get_status(vdpa) & VIRTIO_CONFIG_S_DRIVER_OK))
>> + return 0;
>> +
>> if (!ops->suspend)
>> return -EOPNOTSUPP;
>>
>> @@ -615,6 +618,9 @@ static long vhost_vdpa_resume(struct vhost_vdpa *v)
>> const struct vdpa_config_ops *ops = vdpa->config;
>> int ret;
>>
>> + if (!(ops->get_status(vdpa) & VIRTIO_CONFIG_S_DRIVER_OK))
>> + return 0;
>> +
>> if (!ops->resume)
>> return -EOPNOTSUPP;
>>
>> --
>> 2.39.3
>>
>