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 <ezequ...@collabora.com>
---
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

Reply via email to