Takashi Iwai 1de4d4
From f264f2f6f4788dc031cef60a0cf2881902736709 Mon Sep 17 00:00:00 2001
Takashi Iwai 1de4d4
From: Doug Berger <opendmb@gmail.com>
Takashi Iwai 1de4d4
Date: Thu, 27 Apr 2023 11:19:16 -0700
Takashi Iwai 1de4d4
Subject: [PATCH] serial: 8250_bcm7271: fix leak in `brcmuart_probe`
Takashi Iwai 1de4d4
Git-commit: f264f2f6f4788dc031cef60a0cf2881902736709
Takashi Iwai 1de4d4
Patch-mainline: 6.4-rc3
Takashi Iwai 1de4d4
References: git-fixes
Takashi Iwai 1de4d4
Takashi Iwai 1de4d4
Smatch reports:
Takashi Iwai 1de4d4
drivers/tty/serial/8250/8250_bcm7271.c:1120 brcmuart_probe() warn:
Takashi Iwai 1de4d4
'baud_mux_clk' from clk_prepare_enable() not released on lines: 1032.
Takashi Iwai 1de4d4
Takashi Iwai 1de4d4
The issue is fixed by using a managed clock.
Takashi Iwai 1de4d4
Takashi Iwai 1de4d4
Fixes: 41a469482de2 ("serial: 8250: Add new 8250-core based Broadcom STB driver")
Takashi Iwai 1de4d4
Reported-by: XuDong Liu <m202071377@hust.edu.cn>
Takashi Iwai 1de4d4
Link: https://lore.kernel.org/lkml/20230424125100.4783-1-m202071377@hust.edu.cn/
Takashi Iwai 1de4d4
Signed-off-by: Doug Berger <opendmb@gmail.com>
Takashi Iwai 1de4d4
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Takashi Iwai 1de4d4
Link: https://lore.kernel.org/r/20230427181916.2983697-3-opendmb@gmail.com
Takashi Iwai 1de4d4
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Takashi Iwai 1de4d4
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 1de4d4
Takashi Iwai 1de4d4
---
Takashi Iwai 1de4d4
 drivers/tty/serial/8250/8250_bcm7271.c | 2 +-
Takashi Iwai 1de4d4
 1 file changed, 1 insertion(+), 1 deletion(-)
Takashi Iwai 1de4d4
Takashi Iwai 1de4d4
diff --git a/drivers/tty/serial/8250/8250_bcm7271.c b/drivers/tty/serial/8250/8250_bcm7271.c
Takashi Iwai 1de4d4
index 90ee7bc12f77..af0e1c070187 100644
Takashi Iwai 1de4d4
--- a/drivers/tty/serial/8250/8250_bcm7271.c
Takashi Iwai 1de4d4
+++ b/drivers/tty/serial/8250/8250_bcm7271.c
Takashi Iwai 1de4d4
@@ -1012,7 +1012,7 @@ static int brcmuart_probe(struct platform_device *pdev)
Takashi Iwai 1de4d4
 	of_property_read_u32(np, "clock-frequency", &clk_rate);
Takashi Iwai 1de4d4
 
Takashi Iwai 1de4d4
 	/* See if a Baud clock has been specified */
Takashi Iwai 1de4d4
-	baud_mux_clk = of_clk_get_by_name(np, "sw_baud");
Takashi Iwai 1de4d4
+	baud_mux_clk = devm_clk_get(dev, "sw_baud");
Takashi Iwai 1de4d4
 	if (IS_ERR(baud_mux_clk)) {
Takashi Iwai 1de4d4
 		if (PTR_ERR(baud_mux_clk) == -EPROBE_DEFER) {
Takashi Iwai 1de4d4
 			ret = -EPROBE_DEFER;
Takashi Iwai 1de4d4
-- 
Takashi Iwai 1de4d4
2.35.3
Takashi Iwai 1de4d4