Peter Xu <pet...@redhat.com> writes:

> 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.

Destruction in reverse creation order is good practice.

This being the "QEMU educational PCI device", good practice is even more
desirable.

> 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,

Reply via email to