Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c230344 authored by Camera Software Integration's avatar Camera Software Integration Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: ope: Avoid dead lock during flush" into camera-kernel.lnx.3.1

parents f161a517 07354d96
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2797,6 +2797,7 @@ static int cam_ope_mgr_flush_all(struct cam_ope_ctx *ctx_data,

	rc = cam_cdm_flush_hw(ctx_data->ope_cdm.cdm_handle);

	mutex_lock(&ctx_data->ctx_mutex);
	for (i = 0; i < hw_mgr->num_ope; i++) {
		rc = hw_mgr->ope_dev_intf[i]->hw_ops.process_cmd(
			hw_mgr->ope_dev_intf[i]->hw_priv, OPE_HW_RESET,
@@ -2816,6 +2817,7 @@ static int cam_ope_mgr_flush_all(struct cam_ope_ctx *ctx_data,
		ctx_data->req_list[i] = NULL;
		clear_bit(i, ctx_data->bitmap);
	}
	mutex_unlock(&ctx_data->ctx_mutex);

	return rc;
}
@@ -2848,9 +2850,7 @@ static int cam_ope_mgr_hw_flush(void *hw_priv, void *hw_flush_args)

	switch (flush_args->flush_type) {
	case CAM_FLUSH_TYPE_ALL:
		mutex_lock(&ctx_data->ctx_mutex);
		cam_ope_mgr_flush_all(ctx_data, flush_args);
		mutex_unlock(&ctx_data->ctx_mutex);
		break;
	case CAM_FLUSH_TYPE_REQ:
		mutex_lock(&ctx_data->ctx_mutex);