diff --git a/drivers/media/cec/cec-adap.c b/drivers/media/cec/cec-adap.c index 65dee7a5e7ab1c1175fcb8fc9084d46e29b2f000..dd8bad74a1f0611298ce7b1efeb31a951fdd1c63 100644 --- a/drivers/media/cec/cec-adap.c +++ b/drivers/media/cec/cec-adap.c @@ -831,6 +831,8 @@ 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); mutex_lock(&adap->lock); /* Cancel the transmit if it was interrupted */