FAILED: patch "[PATCH] usb: dwc3: qcom: Fix memory leak in" failed to apply to 5.10-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Possible dependencies:
97a48da1619b ("usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 97a48da1619ba6bd42a0e5da0a03aa490a9496b1 Mon Sep 17 00:00:00 2001
From: Miaoqian Lin <[email protected]>
Date: Tue, 6 Dec 2022 12:17:31 +0400
Subject: [PATCH] usb: dwc3: qcom: Fix memory leak in
dwc3_qcom_interconnect_init
of_icc_get() alloc resources for path handle, we should release it when not need anymore. Like the release in dwc3_qcom_interconnect_exit() function. Add icc_put() in error handling to fix this.
drivers/usb/dwc3/dwc3-qcom.c +10 -3
@@ -261,7 +261,8 @@ static int dwc3_qcom_interconnect_init(struct dwc3_qcom *qcom)if (IS_ERR (qcom->icc_path_apps)) {dev_err (dev,"failed to get apps-usb path: %ld\n" ,PTR_ERR (qcom->icc_path_apps)); -return PTR_ERR (qcom->icc_path_apps); + ret =PTR_ERR (qcom->icc_path_apps); + goto put_path_ddr; } max_speed =usb_get_maximum_speed (&qcom->dwc3->dev);
@@ -274,16 +275,22 @@ static int dwc3_qcom_interconnect_init(struct dwc3_qcom *qcom) }if (ret) {dev_err (dev,"failed to set bandwidth for usb-ddr path: %d\n" , ret); -return ret; + goto put_path_apps; } ret =icc_set_bw (qcom->icc_path_apps,APPS_USB_AVG_BW ,APPS_USB_PEAK_BW );if (ret) {dev_err (dev,"failed to set bandwidth for apps-usb path: %d\n" , ret); -return ret; + goto put_path_apps; }return 0 ; + +put_path_apps: +icc_put (qcom->icc_path_apps); +put_path_ddr: +icc_put (qcom->icc_path_ddr); +return ret; }/**