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