Michael S. Tsirkin
2021-Nov-15 10:56 UTC
[PATCH] vhost-vdpa: clean irqs before reseting vdpa device
On Mon, Nov 15, 2021 at 11:16:42AM +0800, Wu Zongyong wrote:> Vdpa devices should be reset after unseting irqs of virtqueues, or we > will get errors when killing qemu process: > > >> pi_update_irte: failed to update PI IRTE > >> irq bypass consumer (token 0000000065102a43) unregistration fails: -22 > > Signed-off-by: Wu Zongyong <wuzongyong at linux.alibaba.com>A Fixes flag might be appropriate here. 2cf1ba9a4d15c ? Also, remind me of commit 97f854be203883b61d24f230445bd533bbdf770c vhost_vdpa: unset vq irq before freeing irq - what's the difference in scenarios?> --- > drivers/vhost/vdpa.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c > index 01c59ce7e250..29cced1cd277 100644 > --- a/drivers/vhost/vdpa.c > +++ b/drivers/vhost/vdpa.c > @@ -1014,12 +1014,12 @@ static int vhost_vdpa_release(struct inode *inode, struct file *filep) > > mutex_lock(&d->mutex); > filep->private_data = NULL; > + vhost_vdpa_clean_irq(v); > vhost_vdpa_reset(v); > vhost_dev_stop(&v->vdev); > vhost_vdpa_iotlb_free(v); > vhost_vdpa_free_domain(v); > vhost_vdpa_config_put(v); > - vhost_vdpa_clean_irq(v); > vhost_dev_cleanup(&v->vdev); > kfree(v->vdev.vqs); > mutex_unlock(&d->mutex); > -- > 2.31.1