net/virtio-user: do not stop stopped device again

Without this change, virtio-user still works, but it will show
annoying error messages like this on shutdown:

vhost_kernel_set_backend(): VHOST_NET_SET_BACKEND fails, Operation not permitted
vhost_kernel_ioctl(): VHOST_RESET_OWNER failed: Operation not permitted

Fixes: e3b434818b ("net/virtio-user: support kernel vhost")
Fixes: 12ecb2f63b ("net/virtio-user: support memory hotplug")
Cc: stable@dpdk.org

Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
Tiwei Bie 2018-10-29 13:28:03 +08:00 committed by Ferruh Yigit
parent 1a7a39eb3d
commit f457e9007a

View File

@ -184,6 +184,9 @@ int virtio_user_stop_device(struct virtio_user_dev *dev)
uint32_t i;
pthread_mutex_lock(&dev->mutex);
if (!dev->started)
goto out;
for (i = 0; i < dev->max_queue_pairs; ++i)
dev->ops->enable_qp(dev, i, 0);
@ -193,6 +196,7 @@ int virtio_user_stop_device(struct virtio_user_dev *dev)
return -1;
}
dev->started = false;
out:
pthread_mutex_unlock(&dev->mutex);
return 0;