Lines Matching refs:uurb
1284 static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb, in proc_do_submiturb() argument
1298 if (uurb->flags & ~(USBDEVFS_URB_ISO_ASAP | in proc_do_submiturb()
1305 if (uurb->buffer_length > 0 && !uurb->buffer) in proc_do_submiturb()
1307 if (!(uurb->type == USBDEVFS_URB_TYPE_CONTROL && in proc_do_submiturb()
1308 (uurb->endpoint & ~USB_ENDPOINT_DIR_MASK) == 0)) { in proc_do_submiturb()
1309 ifnum = findintfep(ps->dev, uurb->endpoint); in proc_do_submiturb()
1316 ep = ep_to_host_endpoint(ps->dev, uurb->endpoint); in proc_do_submiturb()
1319 is_in = (uurb->endpoint & USB_ENDPOINT_DIR_MASK) != 0; in proc_do_submiturb()
1322 switch(uurb->type) { in proc_do_submiturb()
1327 if (uurb->buffer_length < 8) in proc_do_submiturb()
1332 if (copy_from_user(dr, uurb->buffer, 8)) { in proc_do_submiturb()
1336 if (uurb->buffer_length < (le16_to_cpup(&dr->wLength) + 8)) { in proc_do_submiturb()
1344 uurb->buffer_length = le16_to_cpup(&dr->wLength); in proc_do_submiturb()
1345 uurb->buffer += 8; in proc_do_submiturb()
1346 if ((dr->bRequestType & USB_DIR_IN) && uurb->buffer_length) { in proc_do_submiturb()
1348 uurb->endpoint |= USB_DIR_IN; in proc_do_submiturb()
1351 uurb->endpoint &= ~USB_DIR_IN; in proc_do_submiturb()
1370 uurb->type = USBDEVFS_URB_TYPE_INTERRUPT; in proc_do_submiturb()
1373 num_sgs = DIV_ROUND_UP(uurb->buffer_length, USB_SG_SIZE); in proc_do_submiturb()
1377 stream_id = uurb->stream_id; in proc_do_submiturb()
1388 if (uurb->number_of_packets < 1 || in proc_do_submiturb()
1389 uurb->number_of_packets > 128) in proc_do_submiturb()
1393 number_of_packets = uurb->number_of_packets; in proc_do_submiturb()
1416 uurb->buffer_length = totlen; in proc_do_submiturb()
1423 if (uurb->buffer_length >= USBFS_XFER_MAX) { in proc_do_submiturb()
1427 if (uurb->buffer_length > 0 && in proc_do_submiturb()
1429 uurb->buffer, uurb->buffer_length)) { in proc_do_submiturb()
1439 u += sizeof(struct async) + sizeof(struct urb) + uurb->buffer_length + in proc_do_submiturb()
1456 totlen = uurb->buffer_length; in proc_do_submiturb()
1467 if (copy_from_user(buf, uurb->buffer, u)) { in proc_do_submiturb()
1471 uurb->buffer += u; in proc_do_submiturb()
1475 } else if (uurb->buffer_length > 0) { in proc_do_submiturb()
1476 as->urb->transfer_buffer = kmalloc(uurb->buffer_length, in proc_do_submiturb()
1485 uurb->buffer, in proc_do_submiturb()
1486 uurb->buffer_length)) { in proc_do_submiturb()
1490 } else if (uurb->type == USBDEVFS_URB_TYPE_ISO) { in proc_do_submiturb()
1498 uurb->buffer_length); in proc_do_submiturb()
1502 as->urb->pipe = (uurb->type << 30) | in proc_do_submiturb()
1503 __create_pipe(ps->dev, uurb->endpoint & 0xf) | in proc_do_submiturb()
1504 (uurb->endpoint & USB_DIR_IN); in proc_do_submiturb()
1511 if (uurb->flags & USBDEVFS_URB_ISO_ASAP) in proc_do_submiturb()
1513 if (uurb->flags & USBDEVFS_URB_SHORT_NOT_OK && is_in) in proc_do_submiturb()
1515 if (uurb->flags & USBDEVFS_URB_NO_FSBR) in proc_do_submiturb()
1517 if (uurb->flags & USBDEVFS_URB_ZERO_PACKET) in proc_do_submiturb()
1519 if (uurb->flags & USBDEVFS_URB_NO_INTERRUPT) in proc_do_submiturb()
1523 as->urb->transfer_buffer_length = uurb->buffer_length; in proc_do_submiturb()
1526 as->urb->start_frame = uurb->start_frame; in proc_do_submiturb()
1529 if (uurb->type == USBDEVFS_URB_TYPE_ISO || in proc_do_submiturb()
1545 if (is_in && uurb->buffer_length > 0) in proc_do_submiturb()
1546 as->userbuffer = uurb->buffer; in proc_do_submiturb()
1549 as->signr = uurb->signr; in proc_do_submiturb()
1576 if (uurb->flags & USBDEVFS_URB_BULK_CONTINUATION) in proc_do_submiturb()
1613 struct usbdevfs_urb uurb; in proc_submiturb() local
1615 if (copy_from_user(&uurb, arg, sizeof(uurb))) in proc_submiturb()
1618 return proc_do_submiturb(ps, &uurb, in proc_submiturb()
1777 struct usbdevfs_urb32 __user *uurb) in get_urb32() argument
1780 if (!access_ok(VERIFY_READ, uurb, sizeof(*uurb)) || in get_urb32()
1781 __get_user(kurb->type, &uurb->type) || in get_urb32()
1782 __get_user(kurb->endpoint, &uurb->endpoint) || in get_urb32()
1783 __get_user(kurb->status, &uurb->status) || in get_urb32()
1784 __get_user(kurb->flags, &uurb->flags) || in get_urb32()
1785 __get_user(kurb->buffer_length, &uurb->buffer_length) || in get_urb32()
1786 __get_user(kurb->actual_length, &uurb->actual_length) || in get_urb32()
1787 __get_user(kurb->start_frame, &uurb->start_frame) || in get_urb32()
1788 __get_user(kurb->number_of_packets, &uurb->number_of_packets) || in get_urb32()
1789 __get_user(kurb->error_count, &uurb->error_count) || in get_urb32()
1790 __get_user(kurb->signr, &uurb->signr)) in get_urb32()
1793 if (__get_user(uptr, &uurb->buffer)) in get_urb32()
1796 if (__get_user(uptr, &uurb->usercontext)) in get_urb32()
1805 struct usbdevfs_urb uurb; in proc_submiturb_compat() local
1807 if (get_urb32(&uurb, (struct usbdevfs_urb32 __user *)arg)) in proc_submiturb_compat()
1810 return proc_do_submiturb(ps, &uurb, in proc_submiturb_compat()