fbdev: mmp: Fix deferred clk handling in mmphw_probe()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 13 Apr 2023 19:33:17 +0000 (21:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:31 +0000 (23:03 +0900)
[ Upstream commit b3a7a9ab65ae2f2626c7222fb79cdd433f8c5252 ]

When dev_err_probe() is called, 'ret' holds the value of the previous
successful devm_request_irq() call.
'ret' should be assigned with a meaningful value before being used in
dev_err_probe().

While at it, use and return "PTR_ERR(ctrl->clk)" instead of a hard-coded
"-ENOENT" so that -EPROBE_DEFER is handled and propagated correctly.

Fixes: 81b63420564d ("fbdev: mmp: Make use of the helper function dev_err_probe()")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/video/fbdev/mmp/hw/mmp_ctrl.c

index a9df8ee7981020e37679db03baeec32dad0061de..51fbf02a0343063d55c829cf27b9ad6e6f35ee21 100644 (file)
@@ -514,9 +514,9 @@ static int mmphw_probe(struct platform_device *pdev)
        /* get clock */
        ctrl->clk = devm_clk_get(ctrl->dev, mi->clk_name);
        if (IS_ERR(ctrl->clk)) {
+               ret = PTR_ERR(ctrl->clk);
                dev_err_probe(ctrl->dev, ret,
                              "unable to get clk %s\n", mi->clk_name);
-               ret = -ENOENT;
                goto failed;
        }
        clk_prepare_enable(ctrl->clk);