static void gsc_m2m_job_abort(void *priv) { struct gsc_ctx *ctx = priv; int ret; ret = gsc_m2m_ctx_stop_req(ctx); if (ret == -ETIMEDOUT) gsc_m2m_job_finish(ctx, VB2_BUF_STATE_ERROR); }
static void __gsc_m2m_job_abort(struct gsc_ctx *ctx) { int ret; ret = gsc_m2m_ctx_stop_req(ctx); if ((ret == -ETIMEDOUT) || (ctx->state & GSC_CTX_ABORT)) { gsc_ctx_state_lock_clear(GSC_CTX_STOP_REQ | GSC_CTX_ABORT, ctx); gsc_m2m_job_finish(ctx, VB2_BUF_STATE_ERROR); } }
static int gsc_m2m_stop_streaming(struct vb2_queue *q) { struct gsc_ctx *ctx = q->drv_priv; int ret; ret = gsc_m2m_ctx_stop_req(ctx); if (ret == -ETIMEDOUT) gsc_m2m_job_finish(ctx, VB2_BUF_STATE_ERROR); pm_runtime_put(&ctx->gsc_dev->pdev->dev); return 0; }