On 08/29, Maxime Coquelin wrote: >There might not have any VHOST_USER_SET_VRING_CALL requests >sent once virtio device is ready. When it happens, the vDPA >device's dev_conf() callback may never be called. > >Fixes: 9f9014512822 ("vhost: configure vDPA device after set vring call >message") >Cc: sta...@dpdk.org >Cc: xiaolong...@intel.com > >Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> >--- > lib/librte_vhost/vhost_user.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > >diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c >index 0b72648a5..b1ea80c52 100644 >--- a/lib/librte_vhost/vhost_user.c >+++ b/lib/librte_vhost/vhost_user.c >@@ -2112,8 +2112,7 @@ vhost_user_msg_handler(int vid, int fd) > did = dev->vdpa_dev_id; > vdpa_dev = rte_vdpa_get_device(did); > if (vdpa_dev && virtio_is_ready(dev) && >- !(dev->flags & VIRTIO_DEV_VDPA_CONFIGURED) && >- msg.request.master == VHOST_USER_SET_VRING_CALL) { >+ !(dev->flags & VIRTIO_DEV_VDPA_CONFIGURED)) { > if (vdpa_dev->ops->dev_conf) > vdpa_dev->ops->dev_conf(dev->vid); > dev->flags |= VIRTIO_DEV_VDPA_CONFIGURED; >-- >2.21.0 >
Reviewed-by: Xiaolong Ye <xiaolong...@intel.com>