Messages in this thread | | | Subject | Re: [PATCH 3/3] virtio/vdpa: Clear the available index during probe | From | Jason Wang <> | Date | Tue, 1 Jun 2021 10:20:49 +0800 |
| |
在 2021/6/1 上午12:05, Eli Cohen 写道: > Clear the available index as part of the initialization process to > clear and values that might be left from previous usage of the device. > For example, if the device was previously used by vhost_vdpa and now > probed by vhost_vdpa, you want to start with indices. > > Fixes: c043b4a8cf3b ("virtio: introduce a vDPA based transport") > Signed-off-by: Eli Cohen <elic@nvidia.com> > ---
Acked-by: Jason Wang <jasowang@redhat.com>
Note that we probably need a follow-up fixes for vp_vdpa driver.
I will post it soon.
Thanks
> drivers/virtio/virtio_vdpa.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c > index e28acf482e0c..32fb121a6ec4 100644 > --- a/drivers/virtio/virtio_vdpa.c > +++ b/drivers/virtio/virtio_vdpa.c > @@ -142,6 +142,7 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, > struct vdpa_callback cb; > struct virtqueue *vq; > u64 desc_addr, driver_addr, device_addr; > + struct vdpa_vq_state state = {0}; > unsigned long flags; > u32 align, num; > int err; > @@ -191,6 +192,11 @@ virtio_vdpa_setup_vq(struct virtio_device *vdev, unsigned int index, > goto err_vq; > } > > + /* reset available index */ > + err = ops->set_vq_state(vdpa, index, &state); > + if (err) > + goto err_vq; > + > ops->set_vq_ready(vdpa, index, 1); > > vq->priv = info;
| |