diff -urN kvm-87/usb-linux.c kvm-87-debug/usb-linux.c --- kvm-87/usb-linux.c 2009-06-23 09:32:38.000000000 -0400 +++ kvm-87-debug/usb-linux.c 2009-07-16 03:06:22.000000000 -0400 @@ -209,16 +209,21 @@ static AsyncURB *async_alloc(void) { - return (AsyncURB *) qemu_mallocz(sizeof(AsyncURB)); + AsyncURB *aurb = (AsyncURB *) qemu_mallocz(sizeof(AsyncURB)); + dprintf("husb: allocated %p\n", aurb); + return aurb; } static void async_free(AsyncURB *aurb) { + dprintf("husb: freeing %p\n", aurb); qemu_free(aurb); } static void async_complete_ctrl(USBHostDevice *s, USBPacket *p) { + dprintf("husb: complete ctrl, host state %d len %d\n", + s->ctrl.state, s->ctrl.len); switch(s->ctrl.state) { case CTRL_STATE_SETUP: if (p->len < s->ctrl.len) @@ -266,6 +271,7 @@ aurb, aurb->urb.status, aurb->urb.actual_length); if (p) { + dprintf("husb: p=%p\n", p); switch (aurb->urb.status) { case 0: p->len = aurb->urb.actual_length; @@ -280,11 +286,12 @@ p->len = USB_RET_NAK; break; } - + dprintf("husb: completing, p->len=%d\n", p->len); usb_packet_complete(p); } async_free(aurb); + } }