]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe
authorDuoming Zhou <duoming@zju.edu.cn>
Tue, 2 Sep 2025 01:53:37 +0000 (09:53 +0800)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 14 Oct 2025 13:07:37 +0000 (15:07 +0200)
The delayed_work delayed_work_enable_hotplug is initialized with
INIT_DELAYED_WORK() in adv76xx_probe(), but it is never scheduled
anywhere in the probe function.

Calling cancel_delayed_work() on a work that has never been
scheduled is redundant and unnecessary, as there is no pending
work to cancel.

Remove the redundant cancel_delayed_work() from error handling
path and adjust the goto label accordingly to simplify the code
and avoid potential confusion.

Fixes: 54450f591c99 ("[media] adv7604: driver for the Analog Devices ADV7604 video decoder")
Cc: stable@vger.kernel.org
Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/i2c/adv7604.c

index 8fe7c2f728839c07bb01521aa6711e4e1524b024..516553fb17e9837977ce14ebbb170a6eb56741b3 100644 (file)
@@ -3670,7 +3670,7 @@ static int adv76xx_probe(struct i2c_client *client)
        err = media_entity_pads_init(&sd->entity, state->source_pad + 1,
                                state->pads);
        if (err)
-               goto err_work_queues;
+               goto err_i2c;
 
        /* Configure regmaps */
        err = configure_regmaps(state);
@@ -3711,8 +3711,6 @@ static int adv76xx_probe(struct i2c_client *client)
 
 err_entity:
        media_entity_cleanup(&sd->entity);
-err_work_queues:
-       cancel_delayed_work(&state->delayed_work_enable_hotplug);
 err_i2c:
        adv76xx_unregister_clients(state);
 err_hdl: