On 04/12/20 8:16 pm, Johan Hovold wrote: > On Mon, Nov 30, 2020 at 07:00:31AM +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() has been replaced with >> usb_control_msg_send() appropriately. >> >> Signed-off-by: Anant Thazhemadam <anant.thazhemadam@xxxxxxxxx> >> --- >> drivers/usb/misc/idmouse.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) > Especially for control transfers without a data stage there isn't > really any benefit of the new helper. > > I'd just leave this one unchanged. > >> diff --git a/drivers/usb/misc/idmouse.c b/drivers/usb/misc/idmouse.c >> index e9437a176518..52126441a633 100644 >> --- a/drivers/usb/misc/idmouse.c >> +++ b/drivers/usb/misc/idmouse.c >> @@ -56,8 +56,9 @@ static const struct usb_device_id idmouse_table[] = { >> #define FTIP_SCROLL 0x24 >> >> #define ftip_command(dev, command, value, index) \ >> - usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0), command, \ >> - USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, value, index, NULL, 0, 1000) >> + usb_control_msg_send(dev->udev, 0, command, \ >> + USB_TYPE_VENDOR | USB_RECIP_ENDPOINT | USB_DIR_OUT, \ >> + value, index, NULL, 0, 1000, GFP_KERNEL) >> >> MODULE_DEVICE_TABLE(usb, idmouse_table); > Johan Understood. I'll make sure this is left out in the v3. Thanks, Anant