The isoc packet path in the ehci code has a bad qobject cast, causing an abort, this patch fixes this.
Note this problem is backported in 1.6.0 too, and this patch should be backported to the 1.6.0 stable tree. Signed-off-by: Hans de Goede <hdego...@redhat.com> --- hw/usb/hcd-ehci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 010a0d0..77c4872 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1486,7 +1486,8 @@ static int ehci_process_itd(EHCIState *ehci, return -1; } - qemu_sglist_init(&ehci->isgl, DEVICE(ehci), 2, ehci->as); + qemu_sglist_init(&ehci->isgl, BUS(&ehci->bus)->parent, + 2, ehci->as); if (off + len > 4096) { /* transfer crosses page border */ uint32_t len2 = off + len - 4096; -- 1.8.3.1