瀏覽代碼

msm: eva: Avoid using wrong bus client to vote

Fix a racing between power voting and SSR shutdown.

Change-Id: I75c13353174a514ef175056dd98f827a987bff7a
Signed-off-by: George Shen <[email protected]>
George Shen 2 年之前
父節點
當前提交
b029f87904
共有 2 個文件被更改,包括 4 次插入1 次删除
  1. 3 0
      msm/eva/cvp_power.c
  2. 1 1
      msm/eva/msm_cvp_buf.c

+ 3 - 0
msm/eva/cvp_power.c

@@ -219,6 +219,9 @@ int msm_cvp_update_power(struct msm_cvp_inst *inst)
 		return -ECONNRESET;
 
 	core = inst->core;
+	if (!core || core->state == CVP_CORE_UNINIT)
+                return -ECONNRESET;
+
 	clocks = &core->resources.clock_set;
 	cl = &clocks->clock_tbl[clocks->count - 1];
 	if (!cl->has_scaling) {

+ 1 - 1
msm/eva/msm_cvp_buf.c

@@ -290,7 +290,7 @@ int msm_cvp_map_buf_dsp(struct msm_cvp_inst *inst, struct eva_kmd_buffer *buf)
 
 	file = msm_cvp_fget(buf->fd, inst->task, FMODE_PATH, 1);
 	if (file == NULL) {
-		dprintk(CVP_WARN, "%s fail to get file from fd\n", __func__);
+		dprintk(CVP_WARN, "%s fail to get file from fd %d %s\n", __func__, buf->fd, inst->proc_name);
 		return -EINVAL;
 	}