Re: [PATCH v4 2/4] usb: usbtest: two super speed fixes for usbtest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 16, 2012 at 02:19:07PM -0700, Paul Zimmerman wrote:
> 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@xxxxxxxxxxxx>

Greg, this looks fine for me. Should go into v3.5 merge window:

Acked-by: Felipe Balbi <balbi@xxxxxx>

> ---
>  drivers/usb/misc/usbtest.c |   17 ++++++++++++-----
>  1 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
> index 959145b..8fe901d 100644
> --- a/drivers/usb/misc/usbtest.c
> +++ b/drivers/usb/misc/usbtest.c
> @@ -1025,7 +1025,10 @@ test_ctrl_queue(struct usbtest_dev *dev, struct usbtest_param *param)
>  		case 13:	/* short read, resembling case 10 */
>  			req.wValue = cpu_to_le16((USB_DT_CONFIG << 8) | 0);
>  			/* 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;
>  			break;
>  		case 14:	/* short read; try to fill the last packet */
> @@ -1384,11 +1387,15 @@ static int test_halt(struct usbtest_dev *tdev, int ep, struct urb *urb)
>  
>  static int halt_simple(struct usbtest_dev *dev)
>  {
> -	int		ep;
> -	int		retval = 0;
> -	struct urb	*urb;
> +	int			ep;
> +	int			retval = 0;
> +	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)
>  		return -ENOMEM;
>  
> -- 
> 1.7.1
> 

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux