USB: core: drop pipe-type check from new control-message helpers

The new control-message helpers include a pipe-type check which is
almost completely redundant.

Control messages are generally sent to the default pipe which always
exists and is of the correct type since its endpoint representation is
created by USB core as part of enumeration for all devices.

There is currently only one instance of a driver in the tree which use
a control endpoint other than endpoint 0 (and it does not use the new
helpers).

Drivers should be testing for the existence of their resources at probe
rather than at runtime, but to catch drivers failing to do so USB core
already does a sanity check on URB submission and triggers a WARN().
Having the same sanity check done in the helper only suppresses the
warning without allowing us to find and fix the drivers.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20201204085110.20055-2-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Johan Hovold 2020-12-04 09:51:08 +01:00 committed by Greg Kroah-Hartman
parent 93837812a5
commit 7fe53dcbbf
1 changed files with 1 additions and 4 deletions

View File

@ -204,9 +204,6 @@ int usb_control_msg_send(struct usb_device *dev, __u8 endpoint, __u8 request,
int ret;
u8 *data = NULL;
if (usb_pipe_type_check(dev, pipe))
return -EINVAL;
if (size) {
data = kmemdup(driver_data, size, memflags);
if (!data)
@ -272,7 +269,7 @@ int usb_control_msg_recv(struct usb_device *dev, __u8 endpoint, __u8 request,
int ret;
u8 *data;
if (!size || !driver_data || usb_pipe_type_check(dev, pipe))
if (!size || !driver_data)
return -EINVAL;
data = kmalloc(size, memflags);