If the string is invalid, this should return -EINVAL instead of 0.
Fixes: 73517cf49bd4 ("usb: gadget: add RNDIS configfs options for class/subclass/protocol")
Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/usb/gadget/function/u_ether_configfs.h | 5 ++---
1 file 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 3dfb460908fa..f558c3139ebe 100644
--- a/drivers/usb/gadget/function/u_ether_configfs.h
+++ b/drivers/usb/gadget/function/u_ether_configfs.h
@@ -182,12 +182,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; \
} \
--
2.30.0
On Tue, Feb 16, 2021 at 12:57 AM Dan Carpenter <[email protected]> wrote:
> { \
> 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; \
> } \
Acked-by: Lorenzo Colitti <[email protected]>