From: Sakari Ailus Date: Wed, 27 May 2020 23:00:29 +0000 (+0200) Subject: media: ccs: Replace somewhat harsh internal checks based on BUG with WARN_ON X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e40f1bcbeea6482bae1e077bb57a21ef5db2b499;p=linux.git media: ccs: Replace somewhat harsh internal checks based on BUG with WARN_ON If an internal driver error was encountered, BUG was issued. Instead, do less harsh WARN_ON_ONCE and try to manage with the consequences. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c index 25b4c84524fff..70b4d2180971f 100644 --- a/drivers/media/i2c/ccs/ccs-core.c +++ b/drivers/media/i2c/ccs/ccs-core.c @@ -546,6 +546,10 @@ static void ccs_update_mbus_formats(struct ccs_sensor *sensor) to_csi_format_idx(sensor->internal_csi_format) & ~3; unsigned int pixel_order = ccs_pixel_order(sensor); + if (WARN_ON_ONCE(max(internal_csi_format_idx, csi_format_idx) + + pixel_order >= ARRAY_SIZE(ccs_csi_data_formats))) + return; + sensor->mbus_frame_fmts = sensor->default_mbus_frame_fmts << pixel_order; sensor->csi_format = @@ -554,9 +558,6 @@ static void ccs_update_mbus_formats(struct ccs_sensor *sensor) &ccs_csi_data_formats[internal_csi_format_idx + pixel_order]; - BUG_ON(max(internal_csi_format_idx, csi_format_idx) + pixel_order - >= ARRAY_SIZE(ccs_csi_data_formats)); - dev_dbg(&client->dev, "new pixel order %s\n", pixel_order_str[pixel_order]); } @@ -1806,7 +1807,7 @@ static void ccs_propagate(struct v4l2_subdev *subdev, *crops[CCS_PAD_SRC] = *comp; break; default: - BUG(); + WARN_ON_ONCE(1); } }