The new usb_control_msg_{send|recv}() API provides an improved way of using usb_control_msg(). Using this, short reads/writes are considered as errors, data can be used off the stack, and the need for the calling function to create a raw usb pipe is eliminated. This patch series aims to update existing instances of usb_control_msg() in drivers/usb/misc to usb_control_msg_{send|recv}() appropriately, and also update the return value checking mechanisms in place (if any), as necessary so nothing breaks. I was however unable to update one instance of usb_control_msg() in drivers/usb/misc/apple-mfi-fastcharge.c. The return value checking mechanism present here, is as follows. if (retval) { dev_dbg(&mfi->udev->dev, "retval = %d\n", retval); return retval; } mfi->charge_type = val->intval; return 0; This implies that mfi->charge_type = val->intval only when number of bytes transferred = 0, and the return value is directly returned otherwise. Since the new API doesn't return the number of bytes transferred, I wasn't quite sure how this instance could be updated. In case this check is logically incorrect, a patch with a fix can be sent in as well. Anant Thazhemadam (15): usb: misc: appledisplay: update to use the usb_control_msg_{send|recv}() API usb: misc: cypress_cy7c63: update to use usb_control_msg_recv() usb: misc: cytherm: update to use usb_control_msg_recv() usb: misc: ehset: update to use the usb_control_msg_{send|recv}() API usb: misc: emi26: update to use usb_control_msg_send() usb: misc: emi62: update to use usb_control_msg_send() usb: misc: ezusb: update to use usb_control_msg_send() usb: misc: idmouse: update to use usb_control_msg_send() usb: misc: iowarrior: update to use the usb_control_msg_{send|recv}() API usb: misc: isight_firmware: update to use usb_control_msg_send() usb: misc: ldusb: update to use usb_control_msg_send() usb: misc: lvstest: update to use the usb_control_msg_{send|recv}() API usb: misc: trancevibrator: update to use usb_control_msg_send() usb: misc: usbsevseg: update to use usb_control_msg_send() usb: misc: usbtest: update to use the usb_control_msg_{send|recv}() API drivers/usb/misc/appledisplay.c | 46 ++++++++------------ drivers/usb/misc/cypress_cy7c63.c | 10 ++--- drivers/usb/misc/cytherm.c | 42 +++++++++--------- drivers/usb/misc/ehset.c | 70 +++++++++++++----------------- drivers/usb/misc/emi26.c | 14 +----- drivers/usb/misc/emi62.c | 14 +----- drivers/usb/misc/ezusb.c | 16 +------ drivers/usb/misc/idmouse.c | 5 ++- drivers/usb/misc/iowarrior.c | 34 +++++++-------- drivers/usb/misc/isight_firmware.c | 22 +++++----- drivers/usb/misc/ldusb.c | 8 ++-- drivers/usb/misc/lvstest.c | 30 ++++++------- drivers/usb/misc/trancevibrator.c | 6 +-- drivers/usb/misc/usbsevseg.c | 52 +++++++--------------- drivers/usb/misc/usbtest.c | 63 +++++++++++++-------------- 15 files changed, 180 insertions(+), 252 deletions(-) -- 2.25.1