On Tue Sep 2 09:10:31 2025 +0800, Duoming Zhou wrote:
> 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: [email protected]
> Signed-off-by: Duoming Zhou <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/i2c/adv7842.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

---

diff --git a/drivers/media/i2c/adv7842.c b/drivers/media/i2c/adv7842.c
index 9780082db841..331c5171d1ab 100644
--- a/drivers/media/i2c/adv7842.c
+++ b/drivers/media/i2c/adv7842.c
@@ -3626,7 +3626,7 @@ static int adv7842_probe(struct i2c_client *client)
        err = media_entity_pads_init(&sd->entity, ADV7842_PAD_SOURCE + 1,
                                     state->pads);
        if (err)
-               goto err_work_queues;
+               goto err_i2c;
 
        err = adv7842_core_init(sd);
        if (err)
@@ -3647,8 +3647,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:
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to