diff options
author | Johan Hovold <johan@kernel.org> | 2020-12-04 09:51:10 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-12-04 16:48:46 +0100 |
commit | 9dc9c8543aa0b9ef8852330b27cd2eef337bea18 (patch) | |
tree | ca0686ad3d31d089f3abd093f7b40bbab4525796 | |
parent | baf7df456b3848e4b6f8648e754e3a0f77fe700e (diff) | |
download | linux-9dc9c8543aa0b9ef8852330b27cd2eef337bea18.tar.bz2 |
USB: core: return -EREMOTEIO on short usb_control_msg_recv()
Return -EREMOTEIO instead of -EINVAL on short control transfers when
using the new usb_control_msg_recv() helper.
EINVAL is used to report invalid arguments (e.g. to the helper) and
should not be used for unrelated errors.
Many driver currently return -EIO on short control transfers but since
host-controller drivers already use -EREMOTEIO for short transfers
whenever the URB_SHORT_NOT_OK flag is set, let's use that here as well.
This also allows usb_control_msg_recv() to eventually use
URB_SHORT_NOT_OK without changing the return value again.
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20201204085110.20055-4-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/core/message.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index 0d8f75e94d46..d92a04de0c50 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -289,7 +289,7 @@ int usb_control_msg_recv(struct usb_device *dev, __u8 endpoint, __u8 request, memcpy(driver_data, data, size); ret = 0; } else { - ret = -EINVAL; + ret = -EREMOTEIO; } exit: |