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

From: Andi Shyti

Date: Sun Aug 30 2026 - 15:13:38 EST


Hi Peter,

On Sun, Aug 30, 2026 at 06:13:03AM +0200, Peter Rosin wrote:
> 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?

I sent this patch for a quick test:

https://lore.kernel.org/all/20260828135950.454799-1-andi.shyti@xxxxxxxxxx/

Maybe they can be taken together, as I agree not to fire a WARN()
there.

Andi

>
> 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
>