ASoC: starfive: Fix an error check in jh7110_tdm_clk_reset_get()
authorWalker Chen <walker.chen@starfivetech.com>
Thu, 8 Jun 2023 13:57:49 +0000 (21:57 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 9 Jun 2023 09:44:34 +0000 (10:44 +0100)
Fix the check for devm_reset_control_array_get_exclusive() return value.
The devm_reset_control_array_get_exclusive() function may return NULL if
it's an optional request. If optional is intended then NULL should not
be treated as an error case, but as a special kind of success case. So
here the IS_ERR() is used to check better.

Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230608135750.11041-2-walker.chen@starfivetech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/starfive/jh7110_tdm.c

index 973b910..a9a3d52 100644 (file)
@@ -580,10 +580,9 @@ static int jh7110_tdm_clk_reset_get(struct platform_device *pdev,
        }
 
        tdm->resets = devm_reset_control_array_get_exclusive(&pdev->dev);
-       if (IS_ERR_OR_NULL(tdm->resets)) {
-               ret = PTR_ERR(tdm->resets);
-               dev_err(&pdev->dev, "Failed to get tdm resets");
-               return ret;
+       if (IS_ERR(tdm->resets)) {
+               dev_err(&pdev->dev, "Failed to get tdm resets\n");
+               return PTR_ERR(tdm->resets);
        }
 
        return 0;