]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: ov08x40: Don't log ov08x40_check_hwcfg() errors twice
authorHans de Goede <hdegoede@redhat.com>
Fri, 20 Dec 2024 14:41:30 +0000 (15:41 +0100)
committerHans Verkuil <hverkuil@xs4all.nl>
Sat, 15 Feb 2025 14:22:40 +0000 (15:22 +0100)
All ov08x40_check_hwcfg() error-exit paths already log a detailed reason,
logging a second generic "failed to check hwcfg" error is not useful, and
in case of the fwnode check failing with -EPROBE_DEFER this is outright
problematic flooding the log with:

[    4.557059] ov08x40 i2c-OVTI08F4:00: failed to check hwcfg: -517
[    4.559636] ov08x40 i2c-OVTI08F4:00: failed to check hwcfg: -517
etc.

messages.

The one exception to all ov08x40_check_hwcfg() error-exit paths already
logging an error is on v4l2_fwnode_endpoint_alloc_parse() errors.

Make ov08x40_check_hwcfg() log an error in that case too and drop
the duplicate "failed to check hwcfg: %d\n" error logging.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/i2c/ov08x40.c

index e7012ee84822f68493171cc55c6c17f0fb4b344c..c2a399e3bb414ab29549e4ae12446730dbb4a464 100644 (file)
@@ -2164,7 +2164,7 @@ static int ov08x40_check_hwcfg(struct ov08x40 *ov08x, struct device *dev)
        ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
        fwnode_handle_put(ep);
        if (ret)
-               return ret;
+               return dev_err_probe(dev, ret, "parsing endpoint failed\n");
 
        ov08x->reset_gpio = devm_gpiod_get_optional(dev, "reset",
                                                    GPIOD_OUT_LOW);
@@ -2251,10 +2251,8 @@ static int ov08x40_probe(struct i2c_client *client)
 
        /* Check HW config */
        ret = ov08x40_check_hwcfg(ov08x, &client->dev);
-       if (ret) {
-               dev_err(&client->dev, "failed to check hwcfg: %d\n", ret);
+       if (ret)
                return ret;
-       }
 
        /* Initialize subdev */
        v4l2_i2c_subdev_init(&ov08x->sd, client, &ov08x40_subdev_ops);