mmc: mtk-sd: Fix usage of devm_clk_get_optional()
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Thu, 16 Dec 2021 12:57:47 +0000 (13:57 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 28 Dec 2021 16:21:14 +0000 (17:21 +0100)
If we get an error during probe of an optional clock with function
devm_clk_get_optional(), this means that the clock was provided, but
an error occurred: this has to be escalated to the probe function
for the driver probe to fail accordingly, or unexpected hardware
behavior may happen.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20211216125748.179602-4-angelogioacchino.delregno@collabora.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/mtk-sd.c

index f08695e..59d7dec 100644 (file)
@@ -2528,7 +2528,7 @@ static int msdc_of_clock_parse(struct platform_device *pdev,
        /*source clock control gate is optional clock*/
        host->src_clk_cg = devm_clk_get_optional(&pdev->dev, "source_cg");
        if (IS_ERR(host->src_clk_cg))
-               host->src_clk_cg = NULL;
+               return PTR_ERR(host->src_clk_cg);
 
        host->sys_clk_cg = devm_clk_get_optional(&pdev->dev, "sys_cg");
        if (IS_ERR(host->sys_clk_cg))