Skip to content

Commit 919aa3d

Browse files
chejianjjren1
authored andcommitted
dm: virtio-input: implement virtio_input_deinit
All related resources are freed in virtio_input_deinit. Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com> Reviewed-by: Yin Fengwei <fengwei.yin@intel.com> Reviewed-by: Zhao Yakui <yakui.zhao@intel.com> Reviewed-by: Hao Li <hao.l.li@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
1 parent 181ff20 commit 919aa3d

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

devicemodel/hw/pci/virtio/virtio_input.c

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,24 @@ virtio_input_init(struct vmctx *ctx, struct pci_vdev *dev, char *opts)
691691
static void
692692
virtio_input_deinit(struct vmctx *ctx, struct pci_vdev *dev, char *opts)
693693
{
694-
/* to be implemented */
694+
struct virtio_input *vi;
695+
696+
vi = (struct virtio_input *)dev->arg;
697+
if (vi) {
698+
pthread_mutex_destroy(&vi->mtx);
699+
if (vi->event_queue)
700+
free(vi->event_queue);
701+
if (vi->mevp)
702+
mevent_delete(vi->mevp);
703+
if (vi->fd > 0)
704+
close(vi->fd);
705+
if (vi->evdev)
706+
free(vi->evdev);
707+
if (vi->serial)
708+
free(vi->serial);
709+
free(vi);
710+
vi = NULL;
711+
}
695712
}
696713

697714
struct pci_vdev_ops pci_ops_virtio_input = {

0 commit comments

Comments
 (0)