On Tue, Oct 21, 2025 at 03:16:27PM +0300, Olle Lukowski wrote:
> Replace BUG_ON() checks for invalid channel indices with WARN_ON_ONCE()
> and return -EINVAL to avoid crashing the kernel unnecessarily.
>
> Signed-off-by: Olle Lukowski <olle@lukowski.dev>
> ---
> drivers/staging/most/i2c/i2c.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/most/i2c/i2c.c b/drivers/staging/most/i2c/i2c.c
> index 184b2dd11..b9267c3fc 100644
> --- a/drivers/staging/most/i2c/i2c.c
> +++ b/drivers/staging/most/i2c/i2c.c
> @@ -71,7 +71,8 @@ static int configure_channel(struct most_interface *most_iface,
> struct hdm_i2c *dev = to_hdm(most_iface);
> unsigned int delay, pr;
>
> - BUG_ON(ch_idx < 0 || ch_idx >= NUM_CHANNELS);
> + if (WARN_ON_ONCE(ch_idx < 0 || ch_idx >= NUM_CHANNELS))
> + return -EINVAL;
If this is something that can actually ever happen, this change really
doesn't do anything well. Many systems (i.e. the HUGE majority of Linux
instances in the world, billions) are running with panic-on-warn set, so
that means this will still reboot the box.
So please, just properly handle the issue and return an error and do not
panic the system.
Same for the other patches in this series.
thanks,
greg k-h