Revision 4d611c9a usb-linux.c

b/usb-linux.c
114 114
   }
115 115
}
116 116

  
117
static int usb_host_handle_data(USBDevice *dev, int pid, 
118
                                uint8_t devep,
119
                                uint8_t *data, int len)
117
static int usb_host_handle_data(USBDevice *dev, USBPacket *p)
120 118
{
121 119
    USBHostDevice *s = (USBHostDevice *)dev;
122 120
    struct usbdevfs_bulktransfer bt;
123 121
    int ret;
122
    uint8_t devep = p->devep;
124 123

  
125 124
    /* XXX: optimize and handle all data types by looking at the
126 125
       config descriptor */
127
    if (pid == USB_TOKEN_IN)
126
    if (p->pid == USB_TOKEN_IN)
128 127
        devep |= 0x80;
129 128
    bt.ep = devep;
130
    bt.len = len;
129
    bt.len = p->len;
131 130
    bt.timeout = 50;
132
    bt.data = data;
131
    bt.data = p->data;
133 132
    ret = ioctl(s->fd, USBDEVFS_BULK, &bt);
134 133
    if (ret < 0) {
135 134
        switch(errno) {

Also available in: Unified diff