usbtest.c (8cf4328569acc37ac5c5b4eb27ae86c3758f627b) usbtest.c (e5e4746510d140261918aecce2e5e3aa4456f7e9)
1#include <linux/kernel.h>
2#include <linux/errno.h>
3#include <linux/init.h>
4#include <linux/slab.h>
5#include <linux/mm.h>
6#include <linux/module.h>
7#include <linux/moduleparam.h>
8#include <linux/scatterlist.h>
9#include <linux/mutex.h>
10
11#include <linux/usb.h>
12
1#include <linux/kernel.h>
2#include <linux/errno.h>
3#include <linux/init.h>
4#include <linux/slab.h>
5#include <linux/mm.h>
6#include <linux/module.h>
7#include <linux/moduleparam.h>
8#include <linux/scatterlist.h>
9#include <linux/mutex.h>
10
11#include <linux/usb.h>
12
13#define SIMPLE_IO_TIMEOUT 10000 /* in milliseconds */
13
14/*-------------------------------------------------------------------------*/
15
16static int override_alt = -1;
17module_param_named(alt, override_alt, int, 0644);
18MODULE_PARM_DESC(alt, ">= 0 to override altsetting selection");
19
20/*-------------------------------------------------------------------------*/

--- 340 unchanged lines hidden (view full) ---

361 int expected,
362 const char *label
363)
364{
365 struct usb_device *udev = urb->dev;
366 int max = urb->transfer_buffer_length;
367 struct completion completion;
368 int retval = 0;
14
15/*-------------------------------------------------------------------------*/
16
17static int override_alt = -1;
18module_param_named(alt, override_alt, int, 0644);
19MODULE_PARM_DESC(alt, ">= 0 to override altsetting selection");
20
21/*-------------------------------------------------------------------------*/

--- 340 unchanged lines hidden (view full) ---

362 int expected,
363 const char *label
364)
365{
366 struct usb_device *udev = urb->dev;
367 int max = urb->transfer_buffer_length;
368 struct completion completion;
369 int retval = 0;
370 unsigned long expire;
369
370 urb->context = &completion;
371 while (retval == 0 && iterations-- > 0) {
372 init_completion(&completion);
373 if (usb_pipeout(urb->pipe)) {
374 simple_fill_buf(urb);
375 urb->transfer_flags |= URB_ZERO_PACKET;
376 }
377 retval = usb_submit_urb(urb, GFP_KERNEL);
378 if (retval != 0)
379 break;
380
371
372 urb->context = &completion;
373 while (retval == 0 && iterations-- > 0) {
374 init_completion(&completion);
375 if (usb_pipeout(urb->pipe)) {
376 simple_fill_buf(urb);
377 urb->transfer_flags |= URB_ZERO_PACKET;
378 }
379 retval = usb_submit_urb(urb, GFP_KERNEL);
380 if (retval != 0)
381 break;
382
381 /* NOTE: no timeouts; can't be broken out of by interrupt */
382 wait_for_completion(&completion);
383 retval = urb->status;
383 expire = msecs_to_jiffies(SIMPLE_IO_TIMEOUT);
384 if (!wait_for_completion_timeout(&completion, expire)) {
385 usb_kill_urb(urb);
386 retval = (urb->status == -ENOENT ?
387 -ETIMEDOUT : urb->status);
388 } else {
389 retval = urb->status;
390 }
391
384 urb->dev = udev;
385 if (retval == 0 && usb_pipein(urb->pipe))
386 retval = simple_check_buf(tdev, urb);
387
388 if (vary) {
389 int len = urb->transfer_buffer_length;
390
391 len += vary;

--- 827 unchanged lines hidden (view full) ---

1219 expected = -EREMOTEIO;
1220 break;
1221 case 15:
1222 req.wValue = cpu_to_le16(USB_DT_BOS << 8);
1223 if (udev->bos)
1224 len = le16_to_cpu(udev->bos->desc->wTotalLength);
1225 else
1226 len = sizeof(struct usb_bos_descriptor);
392 urb->dev = udev;
393 if (retval == 0 && usb_pipein(urb->pipe))
394 retval = simple_check_buf(tdev, urb);
395
396 if (vary) {
397 int len = urb->transfer_buffer_length;
398
399 len += vary;

--- 827 unchanged lines hidden (view full) ---

1227 expected = -EREMOTEIO;
1228 break;
1229 case 15:
1230 req.wValue = cpu_to_le16(USB_DT_BOS << 8);
1231 if (udev->bos)
1232 len = le16_to_cpu(udev->bos->desc->wTotalLength);
1233 else
1234 len = sizeof(struct usb_bos_descriptor);
1227 if (le16_to_cpu(udev->descriptor.bcdUSB) < 0x0201)
1235 if (udev->speed != USB_SPEED_SUPER)
1228 expected = -EPIPE;
1229 break;
1230 default:
1231 ERROR(dev, "bogus number of ctrl queue testcases!\n");
1232 context.status = -EINVAL;
1233 goto cleanup;
1234 }
1235 req.wLength = cpu_to_le16(len);

--- 1471 unchanged lines hidden ---
1236 expected = -EPIPE;
1237 break;
1238 default:
1239 ERROR(dev, "bogus number of ctrl queue testcases!\n");
1240 context.status = -EINVAL;
1241 goto cleanup;
1242 }
1243 req.wLength = cpu_to_le16(len);

--- 1471 unchanged lines hidden ---