mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
pinctrl: pinctrl-pic32: Fix resource leak
Fix three possible resource leaks by using the devres version of
clk_prepare_enable(). Also, update error message accordingly.
Detected by Smatch:
drivers/pinctrl/pinctrl-pic32.c:2211 pic32_pinctrl_probe() warn:
'pctl->clk' from clk_prepare_enable() not released on lines: 2208.
drivers/pinctrl/pinctrl-pic32.c:2274 pic32_gpio_probe() warn:
'bank->clk' from clk_prepare_enable() not released on lines: 2264,2272.
Fixes: 2ba384e6c3 ("pinctrl: pinctrl-pic32: Add PIC32 pin control driver")
Signed-off-by: Ethan Tidmore <ethantidmore06@gmail.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
parent
a92b751008
commit
fe5560688f
|
|
@ -2174,16 +2174,10 @@ static int pic32_pinctrl_probe(struct platform_device *pdev)
|
|||
if (IS_ERR(pctl->reg_base))
|
||||
return PTR_ERR(pctl->reg_base);
|
||||
|
||||
pctl->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
pctl->clk = devm_clk_get_enabled(&pdev->dev, NULL);
|
||||
if (IS_ERR(pctl->clk)) {
|
||||
ret = PTR_ERR(pctl->clk);
|
||||
dev_err(&pdev->dev, "clk get failed\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = clk_prepare_enable(pctl->clk);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "clk enable failed\n");
|
||||
dev_err(&pdev->dev, "Failed to get and enable clock\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -2239,16 +2233,10 @@ static int pic32_gpio_probe(struct platform_device *pdev)
|
|||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
bank->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
bank->clk = devm_clk_get_enabled(&pdev->dev, NULL);
|
||||
if (IS_ERR(bank->clk)) {
|
||||
ret = PTR_ERR(bank->clk);
|
||||
dev_err(&pdev->dev, "clk get failed\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = clk_prepare_enable(bank->clk);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "clk enable failed\n");
|
||||
dev_err(&pdev->dev, "Failed to get and enable clock\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user