Before checking whether the device is ready is done
a check on whether the RUNNING flag is set. Then the
READY flag is set if virtio_is_ready() returns true.

While it seems to not cause any issue, it makes more
sense to check whether the READY flag is set and not
the RUNNING one.

Fixes: c0674b1bc898 ("vhost: move the device ready check at proper place")
Cc: sta...@dpdk.org

Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com>
---
 lib/librte_vhost/vhost_user.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 9c891d4c01..106b6d7609 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -2784,7 +2784,7 @@ vhost_user_msg_handler(int vid, int fd)
                return -1;
        }
 
-       if (!(dev->flags & VIRTIO_DEV_RUNNING) && virtio_is_ready(dev)) {
+       if (!(dev->flags & VIRTIO_DEV_READY) && virtio_is_ready(dev)) {
                dev->flags |= VIRTIO_DEV_READY;
 
                if (!(dev->flags & VIRTIO_DEV_RUNNING)) {
-- 
2.25.4

Reply via email to