[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201130011819.2576481-1-anant.thazhemadam@gmail.com>
Date: Mon, 30 Nov 2020 06:48:04 +0530
From: Anant Thazhemadam <anant.thazhemadam@...il.com>
To: unlisted-recipients:; (no To-header on input)
Cc: Anant Thazhemadam <anant.thazhemadam@...il.com>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org
Subject: [PATCH v2 00/15] drivers: usb: misc: update to use usb_control_msg_{send|recv}()
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
Powered by blists - more mailing lists