i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Wed, 6 May 2020 19:21:00 +0000 (21:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 May 2020 14:41:43 +0000 (16:41 +0200)
[ Upstream commit e9d1a0a41d4486955e96552293c1fcf1fce61602 ]

A call to 'i2c_demux_deactivate_master()' is missing in the error handling
path, as already done in the remove function.

Fixes: 50a5ba876908 ("i2c: mux: demux-pinctrl: add driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/muxes/i2c-demux-pinctrl.c

index 3e6fe1760d82fc9b654540ef6da6b955ca7daa81..a86c511c29e0e3107551c8d402ac1d1b5a1e5829 100644 (file)
@@ -270,6 +270,7 @@ static int i2c_demux_pinctrl_probe(struct platform_device *pdev)
 err_rollback_available:
        device_remove_file(&pdev->dev, &dev_attr_available_masters);
 err_rollback:
+       i2c_demux_deactivate_master(priv);
        for (j = 0; j < i; j++) {
                of_node_put(priv->chan[j].parent_np);
                of_changeset_destroy(&priv->chan[j].chgset);