Re: [PATCH] usb: gadget: legacy: fix redundant initialization warnings from cppcheck

From: Alan Stern
Date: Fri Apr 03 2020 - 10:42:51 EST


On Fri, 3 Apr 2020, Masahiro Yamada wrote:

> Fix the following cppcheck warnings:
>
> drivers/usb/gadget/legacy/inode.c:1364:8: style: Redundant initialization for 'value'. The initialized value is overwritten$
> value = -EOPNOTSUPP;
> ^
> drivers/usb/gadget/legacy/inode.c:1331:15: note: value is initialized
> int value = -EOPNOTSUPP;
> ^
> drivers/usb/gadget/legacy/inode.c:1364:8: note: value is overwritten
> value = -EOPNOTSUPP;
> ^
> drivers/usb/gadget/legacy/inode.c:1817:8: style: Redundant initialization for 'value'. The initialized value is overwritten$
> value = -EINVAL;
> ^
> drivers/usb/gadget/legacy/inode.c:1787:18: note: value is initialized
> ssize_t value = len, length = len;
> ^
> drivers/usb/gadget/legacy/inode.c:1817:8: note: value is overwritten
> value = -EINVAL;
> ^
>
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---
>
> I do not think this is my fault because the addressed commit did not
> touch this file, but the kbuild test robot sent me this report somehow:
>
> https://lkml.org/lkml/2020/4/3/395
>
> Anyway, the warnings are real, so I removed the redundant assignments.
> I re-ran cppcheck and confirmed the warnings have been fixed.
>
>
> drivers/usb/gadget/legacy/inode.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
> index aa0de9e35afa..3afddd3bea6e 100644
> --- a/drivers/usb/gadget/legacy/inode.c
> +++ b/drivers/usb/gadget/legacy/inode.c
> @@ -1361,7 +1361,6 @@ gadgetfs_setup (struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
>
> req->buf = dev->rbuf;
> req->context = NULL;
> - value = -EOPNOTSUPP;
> switch (ctrl->bRequest) {
>
> case USB_REQ_GET_DESCRIPTOR:
> @@ -1784,7 +1783,7 @@ static ssize_t
> dev_config (struct file *fd, const char __user *buf, size_t len, loff_t *ptr)
> {
> struct dev_data *dev = fd->private_data;
> - ssize_t value = len, length = len;
> + ssize_t value, length = len;
> unsigned total;
> u32 tag;
> char *kbuf;

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>