linux/drivers/usb/misc
Amit Virdi 457a0955e1 usbtest: Add interrupt EP testcases
Two simple test cases for interrupt endpoints are added to the usbtest.c file.
These are simple non-queued interrupt IN and interrupt OUT transfers. Currently,
only gadget zero is capable of executing the interrupt EP test cases. However,
extending the same to other gadgets is extremely simple and can be done
on-demand.

The two new tests added are
  - Test 25: To verify Interrupt OUT transfer
  - Test 26: To verify Interrupt IN transfer

Since the default value of wMaxPacketSize is set as 1024, so interrupt
IN transfers must be specified with the size parameter = multiple of
1024. Otherwise the default value (512) in the usbtest application fails
the transfer. See [RUN 4] for sample logs

The application logs (usbtest) and corresponding kernel logs are as
following:

[Run 1]
./testusb -a -c 10 -s 2048 -t 26 -v 511
usbtest 7-1:3.0: TEST 26: read 2048 bytes 10 times

[Run 2]
./testusb -a -c 10 -s 1024 -t 25 -v 511
usbtest 7-1:3.0: TEST 25: write 1024 bytes 10 times

[Run 3]
./testusb -a -c 10 -s 1098 -t 25 -v 511
usbtest 7-1:3.0: TEST 25: write 1098 bytes 10 times

[Run 4 - Failure case scenario]
./testusb -a  -t 26
unknown speed   /dev/bus/usb/007/004    0
/dev/bus/usb/007/004 test 26 --> 75 (Value too large for defined data type)

usbtest 7-1:3.0: TEST 26: read 512 bytes 1000 times
usb 7-1: test26 failed, iterations left 999, status -75 (not 0)

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2014-08-29 15:51:11 -05:00
..
sisusbvga USB: sisusb: Use static const, fix typo 2014-03-03 08:54:30 -08:00
Kconfig USB: Add LVS Test device driver 2014-07-17 17:11:09 -07:00
Makefile USB: Add LVS Test device driver 2014-07-17 17:11:09 -07:00
adutux.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
appledisplay.c USB: appledisplay: fix race between reading and writing from the device 2014-05-27 16:03:57 -07:00
cypress_cy7c63.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
cytherm.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ehset.c usb: ehci: Add support for SINGLE_STEP_SET_FEATURE test of EHSET 2013-08-12 13:13:32 -07:00
emi26.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
emi62.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ezusb.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ftdi-elan.c usb: ftdi-elan: Use pr_<level> 2014-04-24 13:13:59 -07:00
idmouse.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
iowarrior.c USB: iowarrior: Convert local dbg macro to dev_dbg 2014-05-27 15:00:22 -07:00
isight_firmware.c Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2012-01-09 12:09:47 -08:00
ldusb.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
legousbtower.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
lvstest.c usb: lvstest: Fix sparse warnings generated by kbuild test bot 2014-07-22 16:30:58 -07:00
rio500.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
rio500_usb.h
trancevibrator.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usb3503.c usb: usb3503: add PM functions 2014-07-11 18:14:10 -07:00
usb_u132.h
usblcd.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usbled.c usb/misc/usbled: Add Riso Kagaku Webmail Notifier 2014-02-11 14:00:16 -08:00
usbsevseg.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usbtest.c usbtest: Add interrupt EP testcases 2014-08-29 15:51:11 -05:00
uss720.c USB: uss720: fix DMA-buffer allocation 2013-08-14 13:51:02 -07:00
yurex.c USB: yurex: fix race between probe() and read() 2014-05-27 16:03:58 -07:00