Commit 33ac5155 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Wolfram Sang
Browse files

i2c: muxes: mule: Fix an error handling path in mule_i2c_mux_probe()



If an error occurs in the loop that creates the device adapters, then a
reference to 'dev' still needs to be released.

Use for_each_child_of_node_scoped() to both fix the issue and save one line
of code.

Fixes: d0f8e978 ("i2c: muxes: add support for tsd,mule-i2c multiplexer")
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
parent 0b7c9528
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ static int mule_i2c_mux_probe(struct platform_device *pdev)
	struct mule_i2c_reg_mux *priv;
	struct i2c_client *client;
	struct i2c_mux_core *muxc;
	struct device_node *dev;
	unsigned int readback;
	int ndev, ret;
	bool old_fw;
@@ -95,7 +94,7 @@ static int mule_i2c_mux_probe(struct platform_device *pdev)
				     "Failed to register mux remove\n");

	/* Create device adapters */
	for_each_child_of_node(mux_dev->of_node, dev) {
	for_each_child_of_node_scoped(mux_dev->of_node, dev) {
		u32 reg;

		ret = of_property_read_u32(dev, "reg", &reg);