usb: renesas_usbhs: modify fifo clear timing

Pipe buffer should be cleaned before using it,
but should NOT be cleaned in pipe "prepare" function.
Because the pipe might be working in such timing.
This patch fixup this issue.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/renesas_usbhs/pipe.c b/drivers/usb/renesas_usbhs/pipe.c
index b7a9137..4852c07 100644
--- a/drivers/usb/renesas_usbhs/pipe.c
+++ b/drivers/usb/renesas_usbhs/pipe.c
@@ -369,15 +369,7 @@
 
 int usbhs_fifo_prepare_write(struct usbhs_pipe *pipe)
 {
-	int ret;
-
-	ret = usbhsp_fifo_select(pipe, 1);
-	if (ret < 0)
-		return ret;
-
-	usbhsp_fifo_clear(pipe);
-
-	return ret;
+	return usbhsp_fifo_select(pipe, 1);
 }
 
 int usbhs_fifo_write(struct usbhs_pipe *pipe, u8 *buf, int len)
@@ -392,7 +384,7 @@
 	if (ret < 0)
 		return ret;
 
-	ret = usbhs_fifo_prepare_write(pipe);
+	ret = usbhsp_fifo_select(pipe, 1);
 	if (ret < 0)
 		return ret;
 
@@ -750,6 +742,8 @@
 
 		usbhsp_flags_init(pipe);
 		pipe->mod_private = NULL;
+
+		usbhsp_fifo_clear(pipe);
 	}
 }