media: cec: cec-adap: always cancel work in cec_transmit_msg_fh
Commit Message
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-cisco@xs4all.nl>
Fixes: 490d84f6d73c ("media: cec: forgot to cancel delayed work")
Reported-by: Yang, Chenyuan <cy54@illinois.edu>
---
drivers/media/cec/core/cec-adap.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
@@ -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 */