This code doesn't check for NULL consistently and it generates a Smatch
warning:

    drivers/media/i2c/sr030pc30.c:575 sr030pc30_base_config()
    error: we previously assumed 'info->pdata' could be null (see line 572)

Fortunately, "info->pdata" can't be NULL to that check can be removed.
The other thing is that if "ret" is an error code here, then we don't
want to do the next call to cam_i2c_write(), so actually let's flip that
test around and return the error.  This is more of a theoretical issue
than something which is likely to affect real life.

Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>
---
v2: just remove the check

Thanks Sakari Ailus for your review.

diff --git a/drivers/media/i2c/sr030pc30.c b/drivers/media/i2c/sr030pc30.c
index 2a4882cddc51..66d952624731 100644
--- a/drivers/media/i2c/sr030pc30.c
+++ b/drivers/media/i2c/sr030pc30.c
@@ -569,7 +569,7 @@ static int sr030pc30_base_config(struct v4l2_subdev *sd)
        if (!ret)
                ret = sr030pc30_pwr_ctrl(sd, false, false);
 
-       if (!ret && !info->pdata)
+       if (ret)
                return ret;
 
        expmin = EXPOS_MIN_MS * info->pdata->clk_rate / (8 * 1000);

Reply via email to