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