diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/misc/usbtest.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 9d59b901841c..ccc5e8238bd8 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c | |||
@@ -381,6 +381,7 @@ alloc_sglist (int nents, int max, int vary) | |||
381 | 381 | ||
382 | for (i = 0; i < nents; i++) { | 382 | for (i = 0; i < nents; i++) { |
383 | char *buf; | 383 | char *buf; |
384 | unsigned j; | ||
384 | 385 | ||
385 | buf = kzalloc (size, SLAB_KERNEL); | 386 | buf = kzalloc (size, SLAB_KERNEL); |
386 | if (!buf) { | 387 | if (!buf) { |
@@ -391,6 +392,16 @@ alloc_sglist (int nents, int max, int vary) | |||
391 | /* kmalloc pages are always physically contiguous! */ | 392 | /* kmalloc pages are always physically contiguous! */ |
392 | sg_init_one(&sg[i], buf, size); | 393 | sg_init_one(&sg[i], buf, size); |
393 | 394 | ||
395 | switch (pattern) { | ||
396 | case 0: | ||
397 | /* already zeroed */ | ||
398 | break; | ||
399 | case 1: | ||
400 | for (j = 0; j < size; j++) | ||
401 | *buf++ = (u8) (j % 63); | ||
402 | break; | ||
403 | } | ||
404 | |||
394 | if (vary) { | 405 | if (vary) { |
395 | size += vary; | 406 | size += vary; |
396 | size %= max; | 407 | size %= max; |
@@ -425,6 +436,8 @@ static int perform_sglist ( | |||
425 | usb_sg_wait (req); | 436 | usb_sg_wait (req); |
426 | retval = req->status; | 437 | retval = req->status; |
427 | 438 | ||
439 | /* FIXME check resulting data pattern */ | ||
440 | |||
428 | /* FIXME if endpoint halted, clear halt (and log) */ | 441 | /* FIXME if endpoint halted, clear halt (and log) */ |
429 | } | 442 | } |
430 | 443 | ||