This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: cec: cec-adap: always cancel work in cec_transmit_msg_fh
Author:  Hans Verkuil <hverkuil-ci...@xs4all.nl>
Date:    Fri Feb 23 12:24:38 2024 +0000

Do not check for !data->completed, just always call
cancel_delayed_work_sync(). This fixes a small race condition.

Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
Reported-by: Yang, Chenyuan <c...@illinois.edu>
Closes: 
https://lore.kernel.org/linux-media/ph7pr11mb57688e64ade4fe82e658d86da0...@ph7pr11mb5768.namprd11.prod.outlook.com/
Fixes: 490d84f6d73c ("media: cec: forgot to cancel delayed work")
Signed-off-by: Mauro Carvalho Chehab <mche...@kernel.org>

 drivers/media/cec/core/cec-adap.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

---

diff --git a/drivers/media/cec/core/cec-adap.c 
b/drivers/media/cec/core/cec-adap.c
index 559a172ebc6c..6fc7de744ee9 100644
--- a/drivers/media/cec/core/cec-adap.c
+++ b/drivers/media/cec/core/cec-adap.c
@@ -936,8 +936,7 @@ int cec_transmit_msg_fh(struct cec_adapter *adap, struct 
cec_msg *msg,
         */
        mutex_unlock(&adap->lock);
        wait_for_completion_killable(&data->c);
-       if (!data->completed)
-               cancel_delayed_work_sync(&data->work);
+       cancel_delayed_work_sync(&data->work);
        mutex_lock(&adap->lock);
 
        /* Cancel the transmit if it was interrupted */

Reply via email to