Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9fa298f authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Felipe Balbi
Browse files

usb: renesas_usbhs: gadget: usbhsg_ep_disable() care pipe settings



Current usbhsg_ep_disable() didn't care
uep->pipe and pipe->mod_private variable which is used on usbhsg_ep_enable().
It breaks renesas_usbhs gadget when resume.
This patch fixes it.

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 69f5165e
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -601,7 +601,12 @@ static int usbhsg_ep_disable(struct usb_ep *ep)
{
	struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);

	return usbhsg_pipe_disable(uep);
	usbhsg_pipe_disable(uep);

	uep->pipe->mod_private	= NULL;
	uep->pipe		= NULL;

	return 0;
}

static struct usb_request *usbhsg_ep_alloc_request(struct usb_ep *ep,
@@ -753,7 +758,7 @@ static int usbhsg_try_start(struct usbhs_priv *priv, u32 status)
			usbhsg_dma_map_ctrl);
	usbhs_fifo_init(priv);

	/* dcp init */
	/* dcp init instead of usbhsg_ep_enable() */
	dcp->pipe		= usbhs_dcp_malloc(priv);
	dcp->pipe->mod_private	= dcp;
	usbhs_pipe_config_update(dcp->pipe, 0, 0, 64);
@@ -815,7 +820,7 @@ static int usbhsg_try_stop(struct usbhs_priv *priv, u32 status)
	usbhs_sys_set_test_mode(priv, 0);
	usbhs_sys_function_ctrl(priv, 0);

	usbhsg_pipe_disable(dcp);
	usbhsg_ep_disable(&dcp->ep);

	dev_dbg(dev, "stop gadget\n");