Commit fed6bf52 authored by Markus Elfring's avatar Markus Elfring Committed by Abel Vesa
Browse files

clk: imx: composite-8m: Less function calls in __imx8m_clk_hw_composite() after error detection



The function “kfree” was called in up to three cases
by the function “__imx8m_clk_hw_composite” during error handling
even if the passed variables contained a null pointer.

Adjust jump targets according to the Linux coding style convention.

Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/147ca1e6-69f3-4586-b5b3-b69f9574a862@web.de


Signed-off-by: default avatarAbel Vesa <abel.vesa@linaro.org>
parent 6613476e
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -220,7 +220,7 @@ struct clk_hw *__imx8m_clk_hw_composite(const char *name,

	mux = kzalloc(sizeof(*mux), GFP_KERNEL);
	if (!mux)
		goto fail;
		return ERR_CAST(hw);

	mux_hw = &mux->hw;
	mux->reg = reg;
@@ -230,7 +230,7 @@ struct clk_hw *__imx8m_clk_hw_composite(const char *name,

	div = kzalloc(sizeof(*div), GFP_KERNEL);
	if (!div)
		goto fail;
		goto free_mux;

	div_hw = &div->hw;
	div->reg = reg;
@@ -260,7 +260,7 @@ struct clk_hw *__imx8m_clk_hw_composite(const char *name,
	if (!mcore_booted) {
		gate = kzalloc(sizeof(*gate), GFP_KERNEL);
		if (!gate)
			goto fail;
			goto free_div;

		gate_hw = &gate->hw;
		gate->reg = reg;
@@ -272,13 +272,15 @@ struct clk_hw *__imx8m_clk_hw_composite(const char *name,
			mux_hw, mux_ops, div_hw,
			divider_ops, gate_hw, &clk_gate_ops, flags);
	if (IS_ERR(hw))
		goto fail;
		goto free_gate;

	return hw;

fail:
free_gate:
	kfree(gate);
free_div:
	kfree(div);
free_mux:
	kfree(mux);
	return ERR_CAST(hw);
}