di: fix mirror buffer recycle error cause crash

PD#160504: di: fix keep buffer pointer error

1) fix keep buffer pointer error for seek case

Change-Id: I9ad34b86f6cc3c9a5cd5840571346bf180e45c39
Signed-off-by: kele bai <kele.bai@amlogic.com>
This commit is contained in:
kele bai
2018-03-07 18:48:07 +08:00
committed by Jianxin Pan
parent 669abda5ac
commit 433997e5d2
2 changed files with 5 additions and 4 deletions

View File

@@ -1844,8 +1844,10 @@ static void di_cma_release(struct di_dev_s *devp)
pr_err("DI CMA release buf[%d] fail.\n", i);
}
} else {
pr_err("DI buf[%d] page:0x%p no release.\n",
buf_p->index, buf_p->pages);
if (!IS_ERR_OR_NULL(buf_p->pages)) {
pr_err("DI buf[%d] page:0x%p no release.\n",
buf_p->index, buf_p->pages);
}
}
}
if (post_wr_en && post_wr_support) {
@@ -1978,7 +1980,7 @@ static int di_init_buf(int width, int height, unsigned char prog_flag)
int ii = USED_LOCAL_BUF_MAX;
if (!IS_ERR_OR_NULL(keep_buf)) {
for (ii = 0; ii < USED_LOCAL_BUF_MAX; ii++) {
if (di_buf == di_buf->di_buf_dup_p[ii]) {
if (di_buf == keep_buf->di_buf_dup_p[ii]) {
di_print("%s skip %d\n", __func__, i);
break;
}

View File

@@ -38,7 +38,6 @@
#define TRIGGER_PRE_BY_VFRAME_READY 'r'
#define TRIGGER_PRE_BY_PROVERDER_UNREG 'n'
#define TRIGGER_PRE_BY_DEBUG_DISABLE 'd'
#define TRIGGER_PRE_BY_TIMERC 'T'
#define TRIGGER_PRE_BY_PROVERDER_REG 'R'
#define DI_RUN_FLAG_RUN 0