mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
Merge "msm: camera: memmgr: Add error handling get slot failure" into camera-kernel.lnx.4.0
This commit is contained in:
commit
315368fc57
1 changed files with 12 additions and 7 deletions
|
|
@ -830,6 +830,14 @@ int cam_mem_mgr_map(struct cam_mem_mgr_map_cmd *cmd)
|
|||
|
||||
is_internal = cam_mem_util_is_map_internal(cmd->fd);
|
||||
|
||||
idx = cam_mem_get_slot();
|
||||
if (idx < 0) {
|
||||
CAM_ERR(CAM_MEM, "Failed in getting mem slot, idx=%d, fd=%d",
|
||||
idx, cmd->fd);
|
||||
rc = -ENOMEM;
|
||||
goto slot_fail;
|
||||
}
|
||||
|
||||
if ((cmd->flags & CAM_MEM_FLAG_HW_READ_WRITE) ||
|
||||
(cmd->flags & CAM_MEM_FLAG_PROTECTED_MODE)) {
|
||||
rc = cam_mem_util_map_hw_va(cmd->flags,
|
||||
|
|
@ -855,12 +863,6 @@ int cam_mem_mgr_map(struct cam_mem_mgr_map_cmd *cmd)
|
|||
}
|
||||
}
|
||||
|
||||
idx = cam_mem_get_slot();
|
||||
if (idx < 0) {
|
||||
rc = -ENOMEM;
|
||||
goto map_fail;
|
||||
}
|
||||
|
||||
mutex_lock(&tbl.bufq[idx].q_lock);
|
||||
tbl.bufq[idx].fd = cmd->fd;
|
||||
tbl.bufq[idx].dma_buf = NULL;
|
||||
|
|
@ -893,8 +895,9 @@ int cam_mem_mgr_map(struct cam_mem_mgr_map_cmd *cmd)
|
|||
tbl.bufq[idx].len);
|
||||
|
||||
return rc;
|
||||
|
||||
map_fail:
|
||||
cam_mem_put_slot(idx);
|
||||
slot_fail:
|
||||
dma_buf_put(dmabuf);
|
||||
return rc;
|
||||
}
|
||||
|
|
@ -1266,6 +1269,7 @@ int cam_mem_mgr_request_mem(struct cam_mem_mgr_request_desc *inp,
|
|||
|
||||
idx = cam_mem_get_slot();
|
||||
if (idx < 0) {
|
||||
CAM_ERR(CAM_MEM, "Failed in getting mem slot, idx=%d", idx);
|
||||
rc = -ENOMEM;
|
||||
goto slot_fail;
|
||||
}
|
||||
|
|
@ -1414,6 +1418,7 @@ int cam_mem_mgr_reserve_memory_region(struct cam_mem_mgr_request_desc *inp,
|
|||
|
||||
idx = cam_mem_get_slot();
|
||||
if (idx < 0) {
|
||||
CAM_ERR(CAM_MEM, "Failed in getting mem slot, idx=%d", idx);
|
||||
rc = -ENOMEM;
|
||||
goto slot_fail;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue