[media] s5p-fimc: send valid m2m ctx to fimc_m2m_job_finish
fimc_m2m_job_finish() has to be called with the m2m context for the necessary cleanup while resume. But currently fimc_m2m_job_finish() always passes m2m context as NULL. This patch preserves the context before making it null, for necessary cleanup. Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
5d83790be7
commit
e34a89b397
@@ -850,16 +850,18 @@ static int fimc_m2m_suspend(struct fimc_dev *fimc)
|
|||||||
|
|
||||||
static int fimc_m2m_resume(struct fimc_dev *fimc)
|
static int fimc_m2m_resume(struct fimc_dev *fimc)
|
||||||
{
|
{
|
||||||
|
struct fimc_ctx *ctx;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irqsave(&fimc->slock, flags);
|
spin_lock_irqsave(&fimc->slock, flags);
|
||||||
/* Clear for full H/W setup in first run after resume */
|
/* Clear for full H/W setup in first run after resume */
|
||||||
|
ctx = fimc->m2m.ctx;
|
||||||
fimc->m2m.ctx = NULL;
|
fimc->m2m.ctx = NULL;
|
||||||
spin_unlock_irqrestore(&fimc->slock, flags);
|
spin_unlock_irqrestore(&fimc->slock, flags);
|
||||||
|
|
||||||
if (test_and_clear_bit(ST_M2M_SUSPENDED, &fimc->state))
|
if (test_and_clear_bit(ST_M2M_SUSPENDED, &fimc->state))
|
||||||
fimc_m2m_job_finish(fimc->m2m.ctx,
|
fimc_m2m_job_finish(ctx, VB2_BUF_STATE_ERROR);
|
||||||
VB2_BUF_STATE_ERROR);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user