devm_add_action_or_reset() already calls the action in the error case.
Reported-by: Uwe Kleine-König <[email protected]>
Closes: https://lore.kernel.org/linux-pwm/fuku3b5ur6y4k4refd3vmeoenzjo6mwe3b3gtel34rhhhtvnsa@w4uktgbqsc3w/
Signed-off-by: Sean Young <[email protected]>
---
drivers/pwm/pwm-bcm2835.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/pwm/pwm-bcm2835.c b/drivers/pwm/pwm-bcm2835.c
index 307c0bd5f885..283cf27f25ba 100644
--- a/drivers/pwm/pwm-bcm2835.c
+++ b/drivers/pwm/pwm-bcm2835.c
@@ -160,10 +160,8 @@ static int bcm2835_pwm_probe(struct platform_device *pdev)
ret = devm_add_action_or_reset(&pdev->dev, devm_clk_rate_exclusive_put,
pc->clk);
- if (ret) {
- clk_rate_exclusive_put(pc->clk);
+ if (ret)
return ret;
- }
pc->rate = clk_get_rate(pc->clk);
if (!pc->rate)
--
2.43.0
Hello Sean,
thanks for the quick fix. I'd do s/Duplicate/Deduplicate/ in the
Subject (+ maybe s/clk_rate_exclusive_put/clk_rate_exclusive_put()/)
Apart from that:
Fixes: fcc760729359 ("pwm: bcm2835: Allow PWM driver to be used in atomic context")
Reviewed-by: Uwe Kleine-K?nig <[email protected]>
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |