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. Changes in v2: * Buffer variables that were previously dynamically allocated are no longer dynamically allocated unless they have a variable length (since that threw a warning). 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 | 21 ++--- drivers/usb/misc/cytherm.c | 128 ++++++++++------------------- drivers/usb/misc/ehset.c | 76 ++++++++--------- drivers/usb/misc/emi26.c | 31 ++----- drivers/usb/misc/emi62.c | 30 ++----- drivers/usb/misc/ezusb.c | 16 +--- drivers/usb/misc/idmouse.c | 5 +- drivers/usb/misc/iowarrior.c | 34 ++++---- drivers/usb/misc/isight_firmware.c | 30 +++---- drivers/usb/misc/ldusb.c | 8 +- drivers/usb/misc/lvstest.c | 38 ++++----- drivers/usb/misc/trancevibrator.c | 4 +- drivers/usb/misc/usbsevseg.c | 60 ++++---------- drivers/usb/misc/usbtest.c | 69 +++++++--------- 15 files changed, 216 insertions(+), 380 deletions(-) -- 2.25.1