[PATCH v2 1/2] ASoC: starfive: Fix an error check in jh7110_tdm_clk_reset_get()

From: Walker Chen
Date: Thu Jun 08 2023 - 09:58:03 EST


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@xxxxxxxxxxxxxxxx>
---
Fix the following issue:
https://lore.kernel.org/all/ZH7t6Nc+NTcGpq%2F3@moroto/
---
sound/soc/starfive/jh7110_tdm.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/sound/soc/starfive/jh7110_tdm.c b/sound/soc/starfive/jh7110_tdm.c
index 973b910d2d3e..a9a3d52bdd2a 100644
--- a/sound/soc/starfive/jh7110_tdm.c
+++ b/sound/soc/starfive/jh7110_tdm.c
@@ -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;
--
2.17.1