Revision 079d0b7f hw/usb-ohci.c

b/hw/usb-ohci.c
657 657
    int ret;
658 658
    int i;
659 659
    USBDevice *dev;
660
    USBEndpoint *ep;
660 661
    struct ohci_iso_td iso_td;
661 662
    uint32_t addr;
662 663
    uint16_t starting_frame;
......
796 797
    if (completion) {
797 798
        ret = ohci->usb_packet.result;
798 799
    } else {
799
        usb_packet_setup(&ohci->usb_packet, pid,
800
                         OHCI_BM(ed->flags, ED_FA),
801
                         OHCI_BM(ed->flags, ED_EN));
800
        dev = ohci_find_device(ohci, OHCI_BM(ed->flags, ED_FA));
801
        ep = usb_ep_get(dev, pid, OHCI_BM(ed->flags, ED_EN));
802
        usb_packet_setup(&ohci->usb_packet, pid, ep);
802 803
        usb_packet_addbuf(&ohci->usb_packet, ohci->usb_buf, len);
803
        dev = ohci_find_device(ohci, ohci->usb_packet.devaddr);
804 804
        ret = usb_handle_packet(dev, &ohci->usb_packet);
805 805
        if (ret == USB_RET_ASYNC) {
806 806
            return 1;
......
889 889
    int ret;
890 890
    int i;
891 891
    USBDevice *dev;
892
    USBEndpoint *ep;
892 893
    struct ohci_td td;
893 894
    uint32_t addr;
894 895
    int flag_r;
......
992 993
#endif
993 994
            return 1;
994 995
        }
995
        usb_packet_setup(&ohci->usb_packet, pid,
996
                         OHCI_BM(ed->flags, ED_FA),
997
                         OHCI_BM(ed->flags, ED_EN));
996
        dev = ohci_find_device(ohci, OHCI_BM(ed->flags, ED_FA));
997
        ep = usb_ep_get(dev, pid, OHCI_BM(ed->flags, ED_EN));
998
        usb_packet_setup(&ohci->usb_packet, pid, ep);
998 999
        usb_packet_addbuf(&ohci->usb_packet, ohci->usb_buf, pktlen);
999
        dev = ohci_find_device(ohci, ohci->usb_packet.devaddr);
1000 1000
        ret = usb_handle_packet(dev, &ohci->usb_packet);
1001 1001
#ifdef DEBUG_PACKET
1002 1002
        DPRINTF("ret=%d\n", ret);

Also available in: Unified diff