Commit 36cc7e09 authored by Haoxiang Li's avatar Haoxiang Li Committed by Greg Kroah-Hartman
Browse files

usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()



usbhsp_get_pipe() set pipe's flags to IS_USED. In error paths,
usbhsp_put_pipe() is required to clear pipe's flags to prevent
pipe exhaustion.

Fixes: f1407d5c ("usb: renesas_usbhs: Add Renesas USBHS common code")
Cc: stable <stable@kernel.org>
Signed-off-by: default avatarHaoxiang Li <haoxiang_li2024@163.com>
Link: https://patch.msgid.link/20251204132129.109234-1-haoxiang_li2024@163.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d14cd998
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -713,11 +713,13 @@ struct usbhs_pipe *usbhs_pipe_malloc(struct usbhs_priv *priv,
	/* make sure pipe is not busy */
	ret = usbhsp_pipe_barrier(pipe);
	if (ret < 0) {
		usbhsp_put_pipe(pipe);
		dev_err(dev, "pipe setup failed %d\n", usbhs_pipe_number(pipe));
		return NULL;
	}

	if (usbhsp_setup_pipecfg(pipe, is_host, dir_in, &pipecfg)) {
		usbhsp_put_pipe(pipe);
		dev_err(dev, "can't setup pipe\n");
		return NULL;
	}