Loading drivers/media/platform/msm/camera/cam_isp/cam_isp_context.c +17 −11 Original line number Diff line number Diff line Loading @@ -1145,7 +1145,9 @@ static int __cam_isp_ctx_flush_req(struct cam_context *ctx, struct cam_ctx_request *req; struct cam_ctx_request *req_temp; struct cam_isp_ctx_req *req_isp; struct list_head flush_list; INIT_LIST_HEAD(&flush_list); spin_lock_bh(&ctx->lock); if (list_empty(req_list)) { spin_unlock_bh(&ctx->lock); Loading @@ -1154,11 +1156,22 @@ static int __cam_isp_ctx_flush_req(struct cam_context *ctx, } list_for_each_entry_safe(req, req_temp, req_list, list) { if ((flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ) && (req->request_id != flush_req->req_id)) if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ) { if (req->request_id != flush_req->req_id) { continue; } else { list_del_init(&req->list); list_add_tail(&req->list, &flush_list); cancel_req_id_found = 1; break; } } list_del_init(&req->list); list_add_tail(&req->list, &flush_list); } spin_unlock_bh(&ctx->lock); list_for_each_entry_safe(req, req_temp, &flush_list, list) { req_isp = (struct cam_isp_ctx_req *) req->req_priv; for (i = 0; i < req_isp->num_fence_map_out; i++) { if (req_isp->fence_map_out[i].sync_id != -1) { Loading @@ -1175,14 +1188,7 @@ static int __cam_isp_ctx_flush_req(struct cam_context *ctx, } } list_add_tail(&req->list, &ctx->free_req_list); /* If flush request id found, exit the loop */ if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ) { cancel_req_id_found = 1; break; } } spin_unlock_bh(&ctx->lock); if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ && !cancel_req_id_found) Loading Loading
drivers/media/platform/msm/camera/cam_isp/cam_isp_context.c +17 −11 Original line number Diff line number Diff line Loading @@ -1145,7 +1145,9 @@ static int __cam_isp_ctx_flush_req(struct cam_context *ctx, struct cam_ctx_request *req; struct cam_ctx_request *req_temp; struct cam_isp_ctx_req *req_isp; struct list_head flush_list; INIT_LIST_HEAD(&flush_list); spin_lock_bh(&ctx->lock); if (list_empty(req_list)) { spin_unlock_bh(&ctx->lock); Loading @@ -1154,11 +1156,22 @@ static int __cam_isp_ctx_flush_req(struct cam_context *ctx, } list_for_each_entry_safe(req, req_temp, req_list, list) { if ((flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ) && (req->request_id != flush_req->req_id)) if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ) { if (req->request_id != flush_req->req_id) { continue; } else { list_del_init(&req->list); list_add_tail(&req->list, &flush_list); cancel_req_id_found = 1; break; } } list_del_init(&req->list); list_add_tail(&req->list, &flush_list); } spin_unlock_bh(&ctx->lock); list_for_each_entry_safe(req, req_temp, &flush_list, list) { req_isp = (struct cam_isp_ctx_req *) req->req_priv; for (i = 0; i < req_isp->num_fence_map_out; i++) { if (req_isp->fence_map_out[i].sync_id != -1) { Loading @@ -1175,14 +1188,7 @@ static int __cam_isp_ctx_flush_req(struct cam_context *ctx, } } list_add_tail(&req->list, &ctx->free_req_list); /* If flush request id found, exit the loop */ if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ) { cancel_req_id_found = 1; break; } } spin_unlock_bh(&ctx->lock); if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_CANCEL_REQ && !cancel_req_id_found) Loading