usb: usbtest: Add TEST 29, toggle sync, Clear toggle between bulk writes
authorMathias Nyman <mathias.nyman@linux.intel.com>
Fri, 15 Dec 2017 13:11:38 +0000 (15:11 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Dec 2017 19:45:44 +0000 (20:45 +0100)
commitcc2e60dfa6ba4ff2c054bca932b9afc8702a2f9a
treeebf01da5b4c5a41e932088452c313d713190f186
parent886ee36e7205a7b850e2e5c2298a479f581f9b3b
usb: usbtest: Add TEST 29, toggle sync, Clear toggle between bulk writes

Clear Feature Endpoint Halt should reset the data toggle even if the
endpoint isn't halted. Host should manage to clear the host side data
toggle to keep in sync with the device.

Test by sending a "3 data packet URB" before and after clearing the halt.
this should create a toggle sequence with two consecutive DATA0 packets.

A successful test sequence looks like this
    ClearFeature(ENDPOINT_HALT) - initial toggle clear
  DATA0 (max packet sized)
  DATA1 (max packet sized)
  DATA0 (zero length packet)
    ClearFeature(ENDPOINT_HALT) - resets toggle
  DATA0 (max packet sized), if clear halt fails then toggle is DATA1
  DATA1 (max packet sized)
  DATA0 (zero length packet)

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/usbtest.c