mirror of https://gitee.com/openkylin/linux.git
usb: renesas_usbhs: gadget: fix unused-but-set-variable warning
The commitb8b9c974af
("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:b8b9c974af
("usb: renesas_usbhs: gadget: disable all eps when the driver stops") Fixes:11432050f0
("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>
This commit is contained in:
parent
2acecd5896
commit
b7d44c36a6
|
@ -639,14 +639,11 @@ static int usbhsg_ep_disable(struct usb_ep *ep)
|
||||||
struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
|
struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
|
||||||
struct usbhs_pipe *pipe;
|
struct usbhs_pipe *pipe;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&uep->lock, flags);
|
spin_lock_irqsave(&uep->lock, flags);
|
||||||
pipe = usbhsg_uep_to_pipe(uep);
|
pipe = usbhsg_uep_to_pipe(uep);
|
||||||
if (!pipe) {
|
if (!pipe)
|
||||||
ret = -EINVAL;
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
|
||||||
|
|
||||||
usbhsg_pipe_disable(uep);
|
usbhsg_pipe_disable(uep);
|
||||||
usbhs_pipe_free(pipe);
|
usbhs_pipe_free(pipe);
|
||||||
|
|
Loading…
Reference in New Issue