On Sun, Jan 13, 2019 at 10:36:41PM +0800, Fei Li wrote: > From: Fei Li <shirley17...@gmail.com> > > Let's supplement the msi_uninit() when failing to realize > the pci edu device. > > Cc: Markus Armbruster <arm...@redhat.com> > Cc: Peter Xu <pet...@redhat.com> > Cc: Michael S. Tsirkin <m...@redhat.com> > Cc: Marcel Apfelbaum <marcel.apfelb...@gmail.com> > Signed-off-by: Fei Li <shirley17...@gmail.com> > --- > hw/misc/edu.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/misc/edu.c b/hw/misc/edu.c > index cdcf550dd7..4feb7503de 100644 > --- a/hw/misc/edu.c > +++ b/hw/misc/edu.c > @@ -367,6 +367,7 @@ static void pci_edu_uninit(PCIDevice *pdev) > { > EduState *edu = EDU(pdev); > > + msi_uninit(pdev);
It would be cleaner to me to call this after the join() since edu_fact_thread() could potentially use msi_*() helpers then the destructions follow the reverse order of init. Reviewed-by: Peter Xu <pet...@redhat.com> > qemu_mutex_lock(&edu->thr_mutex); > edu->stopping = true; > qemu_mutex_unlock(&edu->thr_mutex); > -- > 2.17.2 (Apple Git-113) > Regards, -- Peter Xu