summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Zou <b36644@freescale.com>2012-04-13 08:16:05 +0800
committerFrank Li <Frank.Li@freescale.com>2012-04-13 18:56:26 +0800
commit256588d1074c4f168b7391e7962502b95a46de49 (patch)
tree1b466b9aaa77c11fdae5083468e5a429e2731e15
parentff2ad04bdd1be83dcef74c83bfc08128cdb3b442 (diff)
ENGR00179513-1 VDOA: update software state before start vdoa
Fix a bug when vdoa interrupt happens before software state updated. Signed-off-by: Wayne Zou <b36644@freescale.com>
-rw-r--r--drivers/mxc/ipu3/vdoa.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mxc/ipu3/vdoa.c b/drivers/mxc/ipu3/vdoa.c
index 1a5266d7d7a8..2d3aaef16622 100644
--- a/drivers/mxc/ipu3/vdoa.c
+++ b/drivers/mxc/ipu3/vdoa.c
@@ -308,6 +308,7 @@ int vdoa_start(vdoa_handle_t handle, int timeout_ms)
CHECK_NULL_PTR(vdoa);
CHECK_STATE(VDOA_GET_OBUF, return -EINVAL);
+ vdoa->state = VDOA_START;
init_completion(&vdoa->comp);
vdoa_write_register(vdoa, VDOAIST,
VDOAIEIST_TRANSFER_ERR | VDOAIEIST_TRANSFER_END);
@@ -318,7 +319,6 @@ int vdoa_start(vdoa_handle_t handle, int timeout_ms)
vdoa_write_register(vdoa, VDOASRR, VDOASRR_START_XFER);
dump_registers(vdoa);
- vdoa->state = VDOA_START;
ret = wait_for_completion_timeout(&vdoa->comp,
msecs_to_jiffies(timeout_ms));