Merge "msm: camera: memmgr: Add error handling get slot failure" into camera-kernel.lnx.4.0
Šī revīzija ir iekļauta:

revīziju iesūtīja
Gerrit - the friendly Code Review server

revīzija
315368fc57
@@ -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;
|
||||
}
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user