From: Gerd Hoffmann Date: Fri, 11 May 2012 09:31:56 +0000 (+0200) Subject: ehci: schedule async bh on async packet completion X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ae710b99050a347cc7ef93e1873bf08c9a97b6be;p=qemu.git ehci: schedule async bh on async packet completion When a packet completes which happens to be part of the async schedule kick the async bottom half for processing, Signed-off-by: Gerd Hoffmann --- diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 16627d35c0..8b2dfeda56 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1327,6 +1327,10 @@ static void ehci_async_complete_packet(USBPort *port, USBPacket *packet) assert(p->async == EHCI_ASYNC_INFLIGHT); p->async = EHCI_ASYNC_FINISHED; p->usb_status = packet->result; + + if (p->queue->async) { + qemu_bh_schedule(p->queue->ehci->async_bh); + } } static void ehci_execute_complete(EHCIQueue *q)