[PATCH] i2c: mux: avoid WARN on benign symlink creation failures

From: Peter Rosin

Date: Sun Aug 30 2026 - 00:14:52 EST


WARN() is a bit harsh and causes a crash for panic-on-warn users. Degrade
the error reporting to ordinary dev_err() calls.

Reported-by: Farhad Alemi <farhad.alemi@xxxxxxxxxxxx>
Link: https://lore.kernel.org/all/CA+0ovCij3QDLRzt8CwpjBy-BbJ5Zf5SV9w9QZXz8uD3Agws31g@xxxxxxxxxxxxxx/
Signed-off-by: Peter Rosin <peda@xxxxxxxxxxxxxx>
---

Hi Farhad,

I assume this patch helps?

Cheers,
Peter

drivers/i2c/i2c-mux.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c
index 681a201c239b..52cd8cdf2307 100644
--- a/drivers/i2c/i2c-mux.c
+++ b/drivers/i2c/i2c-mux.c
@@ -393,14 +393,18 @@ int i2c_mux_add_adapter(struct i2c_mux_core *muxc,
}
}

- WARN(sysfs_create_link(&priv->adap.dev.kobj, &muxc->dev->kobj,
- "mux_device"),
- "can't create symlink to mux device\n");
+ ret = sysfs_create_link(&priv->adap.dev.kobj, &muxc->dev->kobj,
+ "mux_device");
+ if (ret)
+ dev_err(muxc->dev, "can't create symlink to mux device\n");

snprintf(symlink_name, sizeof(symlink_name), "channel-%u", chan_id);
- WARN(sysfs_create_link(&muxc->dev->kobj, &priv->adap.dev.kobj,
- symlink_name),
- "can't create symlink to channel %u\n", chan_id);
+ ret = sysfs_create_link(&muxc->dev->kobj, &priv->adap.dev.kobj,
+ symlink_name);
+ if (ret)
+ dev_err(muxc->dev,
+ "can't create symlink to channel %u\n", chan_id);
+
dev_info(&parent->dev, "Added multiplexed i2c bus %d\n",
i2c_adapter_id(&priv->adap));

--
2.55.0