Lines Matching refs:uurb

1595 find_memory_area(struct usb_dev_state *ps, const struct usbdevfs_urb *uurb)  in find_memory_area()  argument
1599 unsigned long uurb_start = (unsigned long)uurb->buffer; in find_memory_area()
1605 if (uurb->buffer_length > iter->vm_start + iter->size - in find_memory_area()
1619 static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb, in proc_do_submiturb() argument
1641 if (uurb->type == USBDEVFS_URB_TYPE_ISO) in proc_do_submiturb()
1644 if (uurb->flags & ~mask) in proc_do_submiturb()
1647 if ((unsigned int)uurb->buffer_length >= USBFS_XFER_MAX) in proc_do_submiturb()
1649 if (uurb->buffer_length > 0 && !uurb->buffer) in proc_do_submiturb()
1651 if (!(uurb->type == USBDEVFS_URB_TYPE_CONTROL && in proc_do_submiturb()
1652 (uurb->endpoint & ~USB_ENDPOINT_DIR_MASK) == 0)) { in proc_do_submiturb()
1653 ifnum = findintfep(ps->dev, uurb->endpoint); in proc_do_submiturb()
1660 ep = ep_to_host_endpoint(ps->dev, uurb->endpoint); in proc_do_submiturb()
1663 is_in = (uurb->endpoint & USB_ENDPOINT_DIR_MASK) != 0; in proc_do_submiturb()
1666 switch (uurb->type) { in proc_do_submiturb()
1671 if (uurb->buffer_length < 8) in proc_do_submiturb()
1676 if (copy_from_user(dr, uurb->buffer, 8)) { in proc_do_submiturb()
1680 if (uurb->buffer_length < (le16_to_cpu(dr->wLength) + 8)) { in proc_do_submiturb()
1688 uurb->buffer_length = le16_to_cpu(dr->wLength); in proc_do_submiturb()
1689 uurb->buffer += 8; in proc_do_submiturb()
1690 if ((dr->bRequestType & USB_DIR_IN) && uurb->buffer_length) { in proc_do_submiturb()
1692 uurb->endpoint |= USB_DIR_IN; in proc_do_submiturb()
1695 uurb->endpoint &= ~USB_DIR_IN; in proc_do_submiturb()
1720 uurb->type = USBDEVFS_URB_TYPE_INTERRUPT; in proc_do_submiturb()
1723 num_sgs = DIV_ROUND_UP(uurb->buffer_length, USB_SG_SIZE); in proc_do_submiturb()
1727 stream_id = uurb->stream_id; in proc_do_submiturb()
1742 if (uurb->number_of_packets < 1 || in proc_do_submiturb()
1743 uurb->number_of_packets > 128) in proc_do_submiturb()
1747 number_of_packets = uurb->number_of_packets; in proc_do_submiturb()
1768 uurb->buffer_length = totlen; in proc_do_submiturb()
1775 if (uurb->buffer_length > 0 && in proc_do_submiturb()
1776 !access_ok(uurb->buffer, uurb->buffer_length)) { in proc_do_submiturb()
1786 as->usbm = find_memory_area(ps, uurb); in proc_do_submiturb()
1800 (as->usbm ? 0 : uurb->buffer_length) + in proc_do_submiturb()
1817 totlen = uurb->buffer_length; in proc_do_submiturb()
1828 if (copy_from_user(buf, uurb->buffer, u)) { in proc_do_submiturb()
1832 uurb->buffer += u; in proc_do_submiturb()
1836 } else if (uurb->buffer_length > 0) { in proc_do_submiturb()
1838 unsigned long uurb_start = (unsigned long)uurb->buffer; in proc_do_submiturb()
1843 as->urb->transfer_buffer = kmalloc(uurb->buffer_length, in proc_do_submiturb()
1851 uurb->buffer, in proc_do_submiturb()
1852 uurb->buffer_length)) { in proc_do_submiturb()
1856 } else if (uurb->type == USBDEVFS_URB_TYPE_ISO) { in proc_do_submiturb()
1864 uurb->buffer_length); in proc_do_submiturb()
1869 as->urb->pipe = (uurb->type << 30) | in proc_do_submiturb()
1870 __create_pipe(ps->dev, uurb->endpoint & 0xf) | in proc_do_submiturb()
1871 (uurb->endpoint & USB_DIR_IN); in proc_do_submiturb()
1878 if (uurb->flags & USBDEVFS_URB_ISO_ASAP) in proc_do_submiturb()
1880 if (allow_short && uurb->flags & USBDEVFS_URB_SHORT_NOT_OK) in proc_do_submiturb()
1882 if (allow_zero && uurb->flags & USBDEVFS_URB_ZERO_PACKET) in proc_do_submiturb()
1884 if (uurb->flags & USBDEVFS_URB_NO_INTERRUPT) in proc_do_submiturb()
1888 if (!allow_short && uurb->flags & USBDEVFS_URB_SHORT_NOT_OK) in proc_do_submiturb()
1890 if (!allow_zero && uurb->flags & USBDEVFS_URB_ZERO_PACKET) in proc_do_submiturb()
1893 as->urb->transfer_buffer_length = uurb->buffer_length; in proc_do_submiturb()
1896 as->urb->start_frame = uurb->start_frame; in proc_do_submiturb()
1901 if (uurb->type == USBDEVFS_URB_TYPE_ISO || in proc_do_submiturb()
1923 unsigned long uurb_start = (unsigned long)uurb->buffer; in proc_do_submiturb()
1928 } else if (is_in && uurb->buffer_length > 0) in proc_do_submiturb()
1929 as->userbuffer = uurb->buffer; in proc_do_submiturb()
1930 as->signr = uurb->signr; in proc_do_submiturb()
1956 if (uurb->flags & USBDEVFS_URB_BULK_CONTINUATION) in proc_do_submiturb()
1993 struct usbdevfs_urb uurb; in proc_submiturb() local
1996 if (copy_from_user(&uurb, arg, sizeof(uurb))) in proc_submiturb()
2002 return proc_do_submiturb(ps, &uurb, in proc_submiturb()
2177 struct usbdevfs_urb32 __user *uurb) in get_urb32() argument
2180 if (copy_from_user(&urb32, uurb, sizeof(*uurb))) in get_urb32()
2199 struct usbdevfs_urb uurb; in proc_submiturb_compat() local
2202 if (get_urb32(&uurb, (struct usbdevfs_urb32 __user *)arg)) in proc_submiturb_compat()
2208 return proc_do_submiturb(ps, &uurb, in proc_submiturb_compat()