diff options
author | Minghsiu Tsai <minghsiu.tsai@mediatek.com> | 2017-03-14 15:21:22 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-04-05 20:08:26 +0200 |
commit | ba40be0fa21afd10a66bdfaee37d3ebcd9187c05 (patch) | |
tree | 23bd52a589a30a61f1596b210ba5166972470ff7 /drivers/dma-buf | |
parent | [media] gspca: konica: add missing endpoint sanity check (diff) | |
download | linux-ba40be0fa21afd10a66bdfaee37d3ebcd9187c05.tar.xz linux-ba40be0fa21afd10a66bdfaee37d3ebcd9187c05.zip |
[media] media: mtk-jpeg: fix continuous log "Context is NULL"
The symptom is continuous log "mtk-jpeg 18004000.jpegdec: Context is NULL"
in kernel log. It is because the error handling in irq doesn't clear
interrupt.
The calling flow like as below when issue happen
mtk_jpeg_device_run()
mtk_jpeg_job_abort()
v4l2_m2m_job_finish() -> m2m_dev->curr_ctx = NULL;
mtk_jpeg_dec_irq()
v4l2_m2m_get_curr_priv()
-> m2m_dev->curr_ctx == NULL
-> return NULL
log "Context is NULL"
There is race condition between job_abort() and irq. In order to simplify
code, don't want to add extra flag to maintain state, empty job_abort() and
clear interrupt before v4l2_m2m_get_curr_priv() in irq.
Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Acked-by: Rick Chang <rick.chang@mediatek.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/dma-buf')
0 files changed, 0 insertions, 0 deletions