Unverified Commit c996a441 authored by Ingyu Jang's avatar Ingyu Jang Committed by Mark Brown
Browse files

ASoC: ti: omap-dmic: Fix IS_ERR() vs NULL check bug in omap_dmic_select_fclk()



clk_get_parent() returns NULL when the clock has no parent (or when the
input clk is NULL); it never returns an ERR_PTR. The current IS_ERR(mux)
check therefore never triggers - a NULL return falls through silently
to clk_set_parent(NULL, parent_clk), which simply fails with -EINVAL.

Use a NULL check so the dedicated error path runs and the prior
clk_get() reference is released via clk_put().

Signed-off-by: default avatarIngyu Jang <ingyujang25@korea.ac.kr>
Acked-by: default avatarSen Wang <sen@ti.com>
Link: https://patch.msgid.link/20260514185215.3753998-1-ingyujang25@korea.ac.kr


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b96fe527
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -328,7 +328,7 @@ static int omap_dmic_select_fclk(struct omap_dmic *dmic, int clk_id,
	}

	mux = clk_get_parent(dmic->fclk);
	if (IS_ERR(mux)) {
	if (!mux) {
		dev_err(dmic->dev, "can't get fck mux parent\n");
		clk_put(parent_clk);
		return -ENODEV;