usb: usbtest: two super speed fixes for usbtest
bMaxPacketSize0 field for super speed is a power of 2, not a count. The size itself is always 512. Max packet size for a super speed bulk endpoint is 1024, so allocate the urb size in halt_simple() accordingly. Signed-off-by: Paul Zimmerman <paulz@synopsys.com> Acked-by: Felipe Balbi <balbi@ti.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
73108aa90c
commit
6a23ccd216
|
@ -1028,7 +1028,10 @@ test_ctrl_queue(struct usbtest_dev *dev, struct usbtest_param *param)
|
||||||
case 13: /* short read, resembling case 10 */
|
case 13: /* short read, resembling case 10 */
|
||||||
req.wValue = cpu_to_le16((USB_DT_CONFIG << 8) | 0);
|
req.wValue = cpu_to_le16((USB_DT_CONFIG << 8) | 0);
|
||||||
/* last data packet "should" be DATA1, not DATA0 */
|
/* last data packet "should" be DATA1, not DATA0 */
|
||||||
len = 1024 - udev->descriptor.bMaxPacketSize0;
|
if (udev->speed == USB_SPEED_SUPER)
|
||||||
|
len = 1024 - 512;
|
||||||
|
else
|
||||||
|
len = 1024 - udev->descriptor.bMaxPacketSize0;
|
||||||
expected = -EREMOTEIO;
|
expected = -EREMOTEIO;
|
||||||
break;
|
break;
|
||||||
case 14: /* short read; try to fill the last packet */
|
case 14: /* short read; try to fill the last packet */
|
||||||
|
@ -1387,11 +1390,15 @@ static int test_halt(struct usbtest_dev *tdev, int ep, struct urb *urb)
|
||||||
|
|
||||||
static int halt_simple(struct usbtest_dev *dev)
|
static int halt_simple(struct usbtest_dev *dev)
|
||||||
{
|
{
|
||||||
int ep;
|
int ep;
|
||||||
int retval = 0;
|
int retval = 0;
|
||||||
struct urb *urb;
|
struct urb *urb;
|
||||||
|
struct usb_device *udev = testdev_to_usbdev(dev);
|
||||||
|
|
||||||
urb = simple_alloc_urb(testdev_to_usbdev(dev), 0, 512);
|
if (udev->speed == USB_SPEED_SUPER)
|
||||||
|
urb = simple_alloc_urb(udev, 0, 1024);
|
||||||
|
else
|
||||||
|
urb = simple_alloc_urb(udev, 0, 512);
|
||||||
if (urb == NULL)
|
if (urb == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue