| From 74cc8300e77d05433c7a7fb3d0e70532ac90fc5c Mon Sep 17 00:00:00 2001 |
| From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Date: Fri, 28 Jul 2017 19:28:57 +0900 |
| Subject: usb: renesas_usbhs: gadget: fix unused-but-set-variable warning |
| |
| [ Upstream commit b7d44c36a6f6d956e1539e0dd42f98b26e5a4684 ] |
| |
| The commit b8b9c974afee ("usb: renesas_usbhs: gadget: disable all eps |
| when the driver stops") causes the unused-but-set-variable warning. |
| But, if the usbhsg_ep_disable() will return non-zero value, udc/core.c |
| doesn't clear the ep->enabled flag. So, this driver should not return |
| non-zero value, if the pipe is zero because this means the pipe is |
| already disabled. Otherwise, the ep->enabled flag is never cleared |
| when the usbhsg_ep_disable() is called by the renesas_usbhs driver first. |
| |
| Fixes: b8b9c974afee ("usb: renesas_usbhs: gadget: disable all eps when the driver stops") |
| Fixes: 11432050f070 ("usb: renesas_usbhs: gadget: fix NULL pointer dereference in ep_disable()") |
| Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/usb/renesas_usbhs/mod_gadget.c | 5 +---- |
| 1 file changed, 1 insertion(+), 4 deletions(-) |
| |
| diff --git a/drivers/usb/renesas_usbhs/mod_gadget.c b/drivers/usb/renesas_usbhs/mod_gadget.c |
| index 54a3237aac08..5984fb134cf4 100644 |
| --- a/drivers/usb/renesas_usbhs/mod_gadget.c |
| +++ b/drivers/usb/renesas_usbhs/mod_gadget.c |
| @@ -639,14 +639,11 @@ static int usbhsg_ep_disable(struct usb_ep *ep) |
| struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep); |
| struct usbhs_pipe *pipe; |
| unsigned long flags; |
| - int ret = 0; |
| |
| spin_lock_irqsave(&uep->lock, flags); |
| pipe = usbhsg_uep_to_pipe(uep); |
| - if (!pipe) { |
| - ret = -EINVAL; |
| + if (!pipe) |
| goto out; |
| - } |
| |
| usbhsg_pipe_disable(uep); |
| usbhs_pipe_free(pipe); |
| -- |
| 2.17.1 |
| |