diff mbox series

i2c: mux: demux-pinctrl: check initial mux selection, too

Message ID 20250115072946.7688-1-wsa+renesas@sang-engineering.com (mailing list archive)
State Mainlined
Commit ca89f73394daf92779ddaa37b42956f4953f3941
Delegated to: Geert Uytterhoeven
Headers show
Series i2c: mux: demux-pinctrl: check initial mux selection, too | expand

Commit Message

Wolfram Sang Jan. 15, 2025, 7:29 a.m. UTC
When misconfigured, the initial setup of the current mux channel can
fail, too. It must be checked as well.

Fixes: 50a5ba876908 ("i2c: mux: demux-pinctrl: add driver")
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---

Tested with a Renesas Lager board (R-Car H2).

 drivers/i2c/muxes/i2c-demux-pinctrl.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Wolfram Sang Jan. 16, 2025, 5:20 p.m. UTC | #1
On Wed, Jan 15, 2025 at 08:29:45AM +0100, Wolfram Sang wrote:
> When misconfigured, the initial setup of the current mux channel can
> fail, too. It must be checked as well.
> 
> Fixes: 50a5ba876908 ("i2c: mux: demux-pinctrl: add driver")
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Applied to for-current, thanks!
diff mbox series

Patch

diff --git a/drivers/i2c/muxes/i2c-demux-pinctrl.c b/drivers/i2c/muxes/i2c-demux-pinctrl.c
index dce18f763a09..b204e5a21ce6 100644
--- a/drivers/i2c/muxes/i2c-demux-pinctrl.c
+++ b/drivers/i2c/muxes/i2c-demux-pinctrl.c
@@ -261,7 +261,9 @@  static int i2c_demux_pinctrl_probe(struct platform_device *pdev)
 	pm_runtime_no_callbacks(&pdev->dev);
 
 	/* switch to first parent as active master */
-	i2c_demux_activate_master(priv, 0);
+	err = i2c_demux_activate_master(priv, 0);
+	if (err)
+		goto err_rollback;
 
 	err = device_create_file(&pdev->dev, &dev_attr_available_masters);
 	if (err)