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 <kraxel@redhat.com>
This commit is contained in:
parent
0fb3e299bd
commit
ae710b9905
@ -1327,6 +1327,10 @@ static void ehci_async_complete_packet(USBPort *port, USBPacket *packet)
|
|||||||
assert(p->async == EHCI_ASYNC_INFLIGHT);
|
assert(p->async == EHCI_ASYNC_INFLIGHT);
|
||||||
p->async = EHCI_ASYNC_FINISHED;
|
p->async = EHCI_ASYNC_FINISHED;
|
||||||
p->usb_status = packet->result;
|
p->usb_status = packet->result;
|
||||||
|
|
||||||
|
if (p->queue->async) {
|
||||||
|
qemu_bh_schedule(p->queue->ehci->async_bh);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ehci_execute_complete(EHCIQueue *q)
|
static void ehci_execute_complete(EHCIQueue *q)
|
||||||
|
Loading…
Reference in New Issue
Block a user