Hi! I am currently facing a problem when running QEMU (up-to-date git version) with OHCI and a lot of virtual USB devices. The emulator dies with the following assertion:
qemu-system-arm: hw/usb.c:337: usb_packet_complete: Assertion `p->owner != ((void *)0)' failed. To reproduce this problem, you can run the configure script with "--target-list=arm-softmmu" for example, then download the files vmlinuz-2.6.26-2-versatile and initrd.img-2.6.26-2-versatile from http://people.debian.org/~aurel32/qemu/arm/ and then run qemu like this: qemu-system-arm -kernel vmlinuz-2.6.26-2-versatile \ -initrd initrd.img-2.6.26-2-versatile -M versatilepb -usb \ -drive if=none,file=/tmp/linux-0.2.img,cache=none,id=disk0 \ -device usb-storage,drive=disk0 -usbdevice mouse \ -usbdevice keyboard -usbdevice tablet It boots the Linux kernel for a while, then dies with the above assertion. Observations: - It could be related to the fact that QEMU puts a hub into the USB tree in that case ... when I specify less USB devices, I was not able to reproduce this problem, but in that case there are also no hubs in the tree. According to the comment in usb_packet_complete(), there might be problems with the assert() in case there is a hub ... ? - So far I was only able to reproduce this problem when the emulated platform uses an OHCI controller. I haven't seen the problem to occur with UHCI yet (but I have to admit that I also haven't done a lot of tests with UHCI). Do you have any ideas what could be wrong here? Regards, Thomas