Revision 87e043f1

b/hw/usb-musb.c
605 605
static void musb_packet(MUSBState *s, MUSBEndPoint *ep,
606 606
                int epnum, int pid, int len, USBCallback cb, int dir)
607 607
{
608
    USBDevice *dev;
608 609
    int ret;
609 610
    int idx = epnum && dir;
610 611
    int ttype;
......
628 629
    ep->packey[dir].ep = ep;
629 630
    ep->packey[dir].dir = dir;
630 631

  
631
    if (s->port.dev)
632
        ret = usb_handle_packet(s->port.dev, &ep->packey[dir].p);
633
    else
634
        ret = USB_RET_NODEV;
632
    dev = usb_find_device(&s->port, ep->packey[dir].p.devaddr);
633
    ret = usb_handle_packet(dev, &ep->packey[dir].p);
635 634

  
636 635
    if (ret == USB_RET_ASYNC) {
637 636
        ep->status[dir] = len;

Also available in: Unified diff