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. cheers, Gerd