On 7 November 2018 at 16:27, Alex Williamson <alex.william...@redhat.com> wrote:
> On Tue,  6 Nov 2018 19:42:12 +0100
> Eric Auger <eric.au...@redhat.com> wrote:
>
>> Commit af7d64ede0b9 (hw/arm/sysbus-fdt: Allow device matching with DT
>> compatible value) introduced a match_fn callback which gets called
>> for each registered combo to check whether a sysbus device can be
>> dynamically instantiated. However the callback gets called even if
>> the device type does not match the binding combo typename field.
>> This causes an assert when passing "-device ramfb" to the qemu
>> command line as vfio_platform_match() gets called on a non
>> vfio-platform device.
>>
>> To fix this regression, let's change the add_fdt_node() logic so
>> that we first check the type and if the match_fn callback is defined,
>> then we also call it.
>>
>> Binding combos only requesting a type check do not define the
>> match_fn callback.
>>
>> Fixes: af7d64ede0b9 (hw/arm/sysbus-fdt: Allow device matching with
>> DT compatible value)
>>
>> Signed-off-by: Eric Auger <eric.au...@redhat.com>
>> Reported-by: Thomas Huth <th...@redhat.com>
>
> The commit this fixes went through the vfio tree, but since the fix
> itself only lives in arm code, I'll leave it to arm maintainers to
> shepherd this fix and offer:
>
> Reviewed-by: Alex Williamson <alex.william...@redhat.com>

Applied to target-arm.next, thanks.

-- PMM

Reply via email to