diff options
| author | Hans Verkuil <hans.verkuil@cisco.com> | 2016-07-16 07:58:31 -0300 |
|---|---|---|
| committer | Ray Zhang <rayz@codeaurora.org> | 2017-05-25 11:22:00 +0800 |
| commit | a743a520d1640b1e2eaadcfa7adbe69cad2895fc (patch) | |
| tree | e3d516824deffd3dfdb27218e3fc87024e972832 | |
| parent | b58d42ad6093df3d4f68a5ef714c2a381d426b68 (diff) | |
[media] cec: CEC_RECEIVE overwrote the timeout field
When CEC_RECEIVE returns a message the original timeout field
was overwritten. Restore the timeout field.
Change-Id: Ida65e37e1424745e3e4cf9d0108e10dc75e642ed
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: e883b4d02670ae83ab24e9af969de1af756959f8
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
| -rw-r--r-- | drivers/staging/media/cec/cec-api.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/media/cec/cec-api.c b/drivers/staging/media/cec/cec-api.c index 9151b1fa18dc..879f7d96e1a7 100644 --- a/drivers/staging/media/cec/cec-api.c +++ b/drivers/staging/media/cec/cec-api.c @@ -209,6 +209,7 @@ static long cec_transmit(struct cec_adapter *adap, struct cec_fh *fh, /* Called by CEC_RECEIVE: wait for a message to arrive */ static int cec_receive_msg(struct cec_fh *fh, struct cec_msg *msg, bool block) { + u32 timeout = msg->timeout; int res; do { @@ -225,6 +226,8 @@ static int cec_receive_msg(struct cec_fh *fh, struct cec_msg *msg, bool block) kfree(entry); fh->queued_msgs--; mutex_unlock(&fh->lock); + /* restore original timeout value */ + msg->timeout = timeout; return 0; } |
