From a4905e8bfd0a2378ae3c973b5d12a1bc679e2a66 Mon Sep 17 00:00:00 2001 From: Govindaraj Rajagopal Date: Fri, 16 Apr 2021 22:02:34 +0530 Subject: [PATCH] video: driver: update device_addr for comparison Compare buffer with release list only after updating buffer device_addr field. Change-Id: Ie1c21fd9496fb4deb735938efeff61b90b96362f Signed-off-by: Govindaraj Rajagopal --- driver/vidc/src/msm_vidc_driver.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/driver/vidc/src/msm_vidc_driver.c b/driver/vidc/src/msm_vidc_driver.c index 4592d78224..c1472fa9ec 100644 --- a/driver/vidc/src/msm_vidc_driver.c +++ b/driver/vidc/src/msm_vidc_driver.c @@ -2205,16 +2205,6 @@ int msm_vidc_map_driver_buf(struct msm_vidc_inst *inst, } } list_add_tail(&map->list, &mappings->list); - } else { - /* increment map ref_count, if buf already present in release list */ - list_for_each_entry(rel_buf, &inst->buffers.release.list, list) { - if (rel_buf->device_addr == buf->device_addr) { - rc = msm_vidc_memory_map(inst->core, map); - if (rc) - return rc; - break; - } - } } rc = msm_vidc_memory_map(inst->core, map); if (rc) @@ -2222,6 +2212,16 @@ int msm_vidc_map_driver_buf(struct msm_vidc_inst *inst, buf->device_addr = map->device_addr; + /* increment map ref_count, if buf already present in release list */ + list_for_each_entry(rel_buf, &inst->buffers.release.list, list) { + if (rel_buf->device_addr == buf->device_addr) { + rc = msm_vidc_memory_map(inst->core, map); + if (rc) + return rc; + break; + } + } + return 0; }