Hi,
This patch unfortunately is somewhat invasive, since makeing the qemu
usb core deal with this requires changes everywhere. This patch only
prepares the usb core for this, all the hcd / device changes are done
in such a way that there are no functional changes.
/me likes it.
When touching this _anyway_: How about making usb_handle_packet and
->handle_data callbacks return void (or bool for completed/async) and
expect drivers to fill the fields in USBPacket instead? That would kill
a little annonying difference in sync/async packet handling.
Adding a usb_packet_result(packet, length, status) helper function would
probably useful too.