• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/usb/core/

Lines Matching refs:uurb

1049 static int proc_do_submiturb(struct dev_state *ps, struct usbdevfs_urb *uurb,
1062 if (uurb->flags & ~(USBDEVFS_URB_ISO_ASAP |
1069 if (uurb->buffer_length > 0 && !uurb->buffer)
1071 if (!(uurb->type == USBDEVFS_URB_TYPE_CONTROL &&
1072 (uurb->endpoint & ~USB_ENDPOINT_DIR_MASK) == 0)) {
1073 ifnum = findintfep(ps->dev, uurb->endpoint);
1080 if ((uurb->endpoint & USB_ENDPOINT_DIR_MASK) != 0) {
1082 ep = ps->dev->ep_in[uurb->endpoint & USB_ENDPOINT_NUMBER_MASK];
1085 ep = ps->dev->ep_out[uurb->endpoint & USB_ENDPOINT_NUMBER_MASK];
1089 switch(uurb->type) {
1095 if (uurb->buffer_length < 8 ||
1096 uurb->buffer_length > (8 + MAX_USBFS_BUFFER_SIZE))
1101 if (copy_from_user(dr, uurb->buffer, 8)) {
1105 if (uurb->buffer_length < (le16_to_cpup(&dr->wLength) + 8)) {
1115 uurb->number_of_packets = 0;
1116 uurb->buffer_length = le16_to_cpup(&dr->wLength);
1117 uurb->buffer += 8;
1118 if ((dr->bRequestType & USB_DIR_IN) && uurb->buffer_length) {
1120 uurb->endpoint |= USB_DIR_IN;
1123 uurb->endpoint &= ~USB_DIR_IN;
1141 uurb->type = USBDEVFS_URB_TYPE_INTERRUPT;
1144 uurb->number_of_packets = 0;
1145 if (uurb->buffer_length > MAX_USBFS_BUFFER_SIZE)
1153 uurb->number_of_packets = 0;
1154 if (uurb->buffer_length > MAX_USBFS_BUFFER_SIZE)
1160 if (uurb->number_of_packets < 1 ||
1161 uurb->number_of_packets > 128)
1166 uurb->number_of_packets;
1173 for (totlen = u = 0; u < uurb->number_of_packets; u++) {
1187 uurb->buffer_length = totlen;
1193 if (uurb->buffer_length > 0 &&
1195 uurb->buffer, uurb->buffer_length)) {
1200 as = alloc_async(uurb->number_of_packets);
1206 if (uurb->buffer_length > 0) {
1207 as->urb->transfer_buffer = kmalloc(uurb->buffer_length,
1219 if (is_in && uurb->type == USBDEVFS_URB_TYPE_ISO)
1221 uurb->buffer_length);
1224 as->urb->pipe = (uurb->type << 30) |
1225 __create_pipe(ps->dev, uurb->endpoint & 0xf) |
1226 (uurb->endpoint & USB_DIR_IN);
1233 if (uurb->flags & USBDEVFS_URB_ISO_ASAP)
1235 if (uurb->flags & USBDEVFS_URB_SHORT_NOT_OK)
1237 if (uurb->flags & USBDEVFS_URB_NO_FSBR)
1239 if (uurb->flags & USBDEVFS_URB_ZERO_PACKET)
1241 if (uurb->flags & USBDEVFS_URB_NO_INTERRUPT)
1245 as->urb->transfer_buffer_length = uurb->buffer_length;
1247 as->urb->start_frame = uurb->start_frame;
1248 as->urb->number_of_packets = uurb->number_of_packets;
1249 if (uurb->type == USBDEVFS_URB_TYPE_ISO ||
1256 for (totlen = u = 0; u < uurb->number_of_packets; u++) {
1264 if (is_in && uurb->buffer_length > 0)
1265 as->userbuffer = uurb->buffer;
1268 as->signr = uurb->signr;
1274 if (!is_in && uurb->buffer_length > 0) {
1275 if (copy_from_user(as->urb->transfer_buffer, uurb->buffer,
1276 uurb->buffer_length)) {
1284 uurb->buffer_length);
1301 if (uurb->flags & USBDEVFS_URB_BULK_CONTINUATION)
1332 struct usbdevfs_urb uurb;
1334 if (copy_from_user(&uurb, arg, sizeof(uurb)))
1337 return proc_do_submiturb(ps, &uurb,
1487 struct usbdevfs_urb32 __user *uurb)
1490 if (!access_ok(VERIFY_READ, uurb, sizeof(*uurb)) ||
1491 __get_user(kurb->type, &uurb->type) ||
1492 __get_user(kurb->endpoint, &uurb->endpoint) ||
1493 __get_user(kurb->status, &uurb->status) ||
1494 __get_user(kurb->flags, &uurb->flags) ||
1495 __get_user(kurb->buffer_length, &uurb->buffer_length) ||
1496 __get_user(kurb->actual_length, &uurb->actual_length) ||
1497 __get_user(kurb->start_frame, &uurb->start_frame) ||
1498 __get_user(kurb->number_of_packets, &uurb->number_of_packets) ||
1499 __get_user(kurb->error_count, &uurb->error_count) ||
1500 __get_user(kurb->signr, &uurb->signr))
1503 if (__get_user(uptr, &uurb->buffer))
1506 if (__get_user(uptr, &uurb->usercontext))
1515 struct usbdevfs_urb uurb;
1517 if (get_urb32(&uurb, (struct usbdevfs_urb32 __user *)arg))
1520 return proc_do_submiturb(ps, &uurb,