Currently, the i2c and spi subdev creation helpers are calling BUG() when passed a NULL v4l2_device parameter. This makes little sense; simply returning NULL seems more sensible. These two helpers may already return NULL on error, so callers should already be checking for this, or at least be prepared for a NULL result. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> --- Changes v2: * New patch. --- drivers/media/v4l2-core/v4l2-i2c.c | 3 ++- drivers/media/v4l2-core/v4l2-spi.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-i2c.c b/drivers/media/v4l2-core/v4l2-i2c.c index 3d7a3081ec0b..84ccacd24573 100644 --- a/drivers/media/v4l2-core/v4l2-i2c.c +++ b/drivers/media/v4l2-core/v4l2-i2c.c @@ -64,7 +64,8 @@ struct v4l2_subdev *v4l2_i2c_new_subdev_board(struct v4l2_device *v4l2_dev, struct v4l2_subdev *sd = NULL; struct i2c_client *client; - BUG_ON(!v4l2_dev); + if (!v4l2_dev) + return NULL; request_module(I2C_MODULE_PREFIX "%s", info->type); diff --git a/drivers/media/v4l2-core/v4l2-spi.c b/drivers/media/v4l2-core/v4l2-spi.c index 2a7e82e1412d..15162659a63b 100644 --- a/drivers/media/v4l2-core/v4l2-spi.c +++ b/drivers/media/v4l2-core/v4l2-spi.c @@ -39,8 +39,8 @@ struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev, struct v4l2_subdev *sd = NULL; struct spi_device *spi = NULL; - BUG_ON(!v4l2_dev); - + if (!v4l2_dev) + return NULL; if (info->modalias[0]) request_module(info->modalias); -- 2.22.0