diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2017-01-24 23:02:58 +0400 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2017-02-01 03:37:18 +0200 |
commit | e0b283e7c5b020c3e54629d8b82117db0af21cca (patch) | |
tree | 06ab8fed2a8fbc61217077c330bba62783d1225f /net/vhost-user.c | |
parent | d56ec1e98c0005933fe677d633484297f422691a (diff) | |
download | qemu-e0b283e7c5b020c3e54629d8b82117db0af21cca.zip qemu-e0b283e7c5b020c3e54629d8b82117db0af21cca.tar.gz qemu-e0b283e7c5b020c3e54629d8b82117db0af21cca.tar.bz2 |
vhost-user: delete chardev on cleanup
Remove the chardev implicitly when cleaning up the netdev. This
prevents from reusing the chardev since it would be in an incorrect
state with the slave.
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1256618
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'net/vhost-user.c')
-rw-r--r-- | net/vhost-user.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/vhost-user.c b/net/vhost-user.c index b0f0ab6..77b8110 100644 --- a/net/vhost-user.c +++ b/net/vhost-user.c @@ -151,7 +151,10 @@ static void vhost_user_cleanup(NetClientState *nc) s->vhost_net = NULL; } if (nc->queue_index == 0) { + Chardev *chr = qemu_chr_fe_get_driver(&s->chr); + qemu_chr_fe_deinit(&s->chr); + qemu_chr_delete(chr); } qemu_purge_queued_packets(nc); |