lkml.org 
[lkml]   [2021]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] vdpa/mlx5: Clear vq ready indication upon device reset
From
Date

在 2021/6/3 下午3:00, Jason Wang 写道:
>
> 在 2021/6/2 下午4:59, Eli Cohen 写道:
>> After device reset, the virtqueues are not ready so clear the ready
>> field.
>>
>> Failing to do so can result in virtio_vdpa failing to load if the device
>> was previously used by vhost_vdpa and the old values are ready.
>> virtio_vdpa expects to find VQs in "not ready" state.
>>
>> Fixes: 1a86b377aa21 ("vdpa/mlx5: Add VDPA driver for supported mlx5
>> devices")
>> Signed-off-by: Eli Cohen <elic@nvidia.com>
>
>
> Acked-by: Jason Wang <jasowang@redhat.com>


A second thought.

destroy_virtqueue() could be called many places.

One of them is the mlx5_vdpa_change_map(), if this is case, this looks
wrong.

It looks to me it's simpler to do this in clear_virtqueues() which can
only be called during reset.

Thanks


>
>
>> ---
>>   drivers/vdpa/mlx5/net/mlx5_vnet.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c
>> b/drivers/vdpa/mlx5/net/mlx5_vnet.c
>> index 02a05492204c..e8bc0842b44c 100644
>> --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
>> +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
>> @@ -862,6 +862,7 @@ static void destroy_virtqueue(struct
>> mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtq
>>           return;
>>       }
>>       umems_destroy(ndev, mvq);
>> +    mvq->ready = false;
>>   }
>>     static u32 get_rqpn(struct mlx5_vdpa_virtqueue *mvq, bool fw)

\
 
 \ /
  Last update: 2021-06-03 09:07    [W:0.052 / U:1.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site