summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2021-02-15 15:57:16 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-17 16:43:48 +0100
commite1ae0a8944c47f731b42a3ad12a2fa007288a979 (patch)
treef626163653aee196275ed48966b7dd24d42ddcae
parentcbee45861fe8046c021faaab3f137cb629e649f9 (diff)
downloadlinux-stable-e1ae0a8944c47f731b42a3ad12a2fa007288a979.tar.gz
linux-stable-e1ae0a8944c47f731b42a3ad12a2fa007288a979.tar.bz2
linux-stable-e1ae0a8944c47f731b42a3ad12a2fa007288a979.zip
USB: gadget: u_ether: Fix a configfs return code
commit 650bf52208d804ad5ee449c58102f8dc43175573 upstream. If the string is invalid, this should return -EINVAL instead of 0. Fixes: 73517cf49bd4 ("usb: gadget: add RNDIS configfs options for class/subclass/protocol") Cc: stable <stable@vger.kernel.org> Acked-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/YCqZ3P53yyIg5cn7@mwanda Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/gadget/function/u_ether_configfs.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/usb/gadget/function/u_ether_configfs.h b/drivers/usb/gadget/function/u_ether_configfs.h
index cd33cee4d78b..1321e773626d 100644
--- a/drivers/usb/gadget/function/u_ether_configfs.h
+++ b/drivers/usb/gadget/function/u_ether_configfs.h
@@ -169,12 +169,11 @@ out: \
size_t len) \
{ \
struct f_##_f_##_opts *opts = to_f_##_f_##_opts(item); \
- int ret; \
+ int ret = -EINVAL; \
u8 val; \
\
mutex_lock(&opts->lock); \
- ret = sscanf(page, "%02hhx", &val); \
- if (ret > 0) { \
+ if (sscanf(page, "%02hhx", &val) > 0) { \
opts->_n_ = val; \
ret = len; \
} \