Re: [PATCH v3 08/12] usb: misc: ldusb: update to use usb_control_msg_send()

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

 



On Wed, Jan 27, 2021 at 12:03:59AM +0530, Anant Thazhemadam wrote:
> The newer usb_control_msg_{send|recv}() API are an improvement on the
> existing usb_control_msg() as it ensures that a short read/write is treated
> as an error, data can be used off the stack, and raw usb pipes need not be
> created in the calling functions.
> For this reason, the instance of usb_control_msg_send() has been replaced
> with usb_control_msg_send() appropriately.
> 
> Signed-off-by: Anant Thazhemadam <anant.thazhemadam@xxxxxxxxx>
> ---
>  drivers/usb/misc/ldusb.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/usb/misc/ldusb.c b/drivers/usb/misc/ldusb.c
> index 670e4d91e9ca..259ead4edecb 100644
> --- a/drivers/usb/misc/ldusb.c
> +++ b/drivers/usb/misc/ldusb.c
> @@ -573,15 +573,13 @@ static ssize_t ld_usb_write(struct file *file, const char __user *buffer,
>  	}
>  
>  	if (dev->interrupt_out_endpoint == NULL) {
> -		/* try HID_REQ_SET_REPORT=9 on control_endpoint instead of interrupt_out_endpoint */
> -		retval = usb_control_msg(interface_to_usbdev(dev->intf),
> -					 usb_sndctrlpipe(interface_to_usbdev(dev->intf), 0),
> -					 9,
> +		retval = usb_control_msg_send(interface_to_usbdev(dev->intf),
> +					 0, 9,
>  					 USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_OUT,
>  					 1 << 8, 0,
>  					 dev->interrupt_out_buffer,
>  					 bytes_to_write,
> -					 USB_CTRL_SET_TIMEOUT);
> +					 USB_CTRL_SET_TIMEOUT, GFP_KERNEL);
>  		if (retval < 0)
>  			dev_err(&dev->intf->dev,
>  				"Couldn't submit HID_REQ_SET_REPORT %d\n",

This would also only introduce a redundant allocation and memcpy() as
the buffer is already DMA-able and used for that purpose in other places
as well.

I suggest dropping this one too.

Johan



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

  Powered by Linux