qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Fix duplicate device reset


From: Isaku Yamahata
Subject: Re: [Qemu-devel] [PATCH] Fix duplicate device reset
Date: Tue, 19 Jul 2011 16:22:12 +0900
User-agent: Mutt/1.5.19 (2009-01-05)

On Tue, Jul 19, 2011 at 07:56:41AM +0200, Stefan Weil wrote:
> Am 19.07.2011 04:39, schrieb Isaku Yamahata:
>> Thank you for addressing this. Similar patches were proposed and
>> weren't merged unfortunately.
>>
>> The reason why the qdev_register_reset() in vl.c is to keep the reset order.
>> The reset for main_system_bus shouldn't registered by qbus_create_inplace().
>> But the check, bus != main_system_bus, doesn't work as intended because
>> main_system_bus is NULL in early qdev creation.
>> So there are possible ways for the fix.
>>
>> - Don't care the reset order
>>    your patch +
>>    remove "if (bus != main_system_bus)" in qbus_create_inplace()
>>
>> - keep the reset order
>>    - instantiate main_system_bus early.
>>      So the check, bus != main_system_bus in qbus_create_inplace(), will 
>> work.
>>    or
>>    - fix the check, bus != main_system_bus in qbus_create_inplace(), somehow
>>
>> thanks,
>
> Hi,
>
> my patch does not remove sysbus_get_default(),
> so the reset order is kept because main_system_bus
> is instantiated by this call.

Yes, your patch doesn't change the order from the existing code.
I think it's not intended one.
During machine creation, someone may call sysbus_get_default().
So the reset for main_system_bus may not be the lastly registered.

The changeset of 80376c3f tries to keep the reset order, but failed.
That's the issue.
-- 
yamahata



reply via email to

[Prev in Thread] Current Thread [Next in Thread]