]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: i2c: adv7842: Remove redundant cancel_delayed_work in probe
authorDuoming Zhou <duoming@zju.edu.cn>
Tue, 2 Sep 2025 01:10:31 +0000 (09:10 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:11:58 +0000 (13:11 +0100)
commit e66a5cc606c58e72f18f9cdd868a3672e918f9f8 upstream.

The delayed_work delayed_work_enable_hotplug is initialized with
INIT_DELAYED_WORK() in adv7842_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: a89bcd4c6c20 ("[media] adv7842: add new video decoder driver")
Cc: stable@vger.kernel.org
Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/i2c/adv7842.c

index cf4ac549d5300a5ec1cc60b98f45cffd991cb014..d81ce7a0c8fd5fa2ce514762e73046d85bddfe10 100644 (file)
@@ -3552,7 +3552,7 @@ static int adv7842_probe(struct i2c_client *client,
        state->pad.flags = MEDIA_PAD_FL_SOURCE;
        err = media_entity_pads_init(&sd->entity, 1, &state->pad);
        if (err)
-               goto err_work_queues;
+               goto err_i2c;
 
        err = adv7842_core_init(sd);
        if (err)
@@ -3573,8 +3573,6 @@ static int adv7842_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:
        adv7842_unregister_clients(sd);
 err_hdl: