Merge e687fa9aa3 on remote branch
Change-Id: I43538b267ac62293659186dd95b7bce14682621a
This commit is contained in:
commit
3187db7c6b
1 file changed
+7
-13
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
@@ -402,7 +402,6 @@ static int cam_mem_util_get_dma_buf_fd(size_t len,
|
||||
struct dma_buf **buf,
|
||||
int *fd)
|
||||
{
|
||||
struct dma_buf *dmabuf = NULL;
|
||||
int rc = 0;
|
||||
struct timespec64 ts1, ts2;
|
||||
long microsec = 0;
|
||||
@@ -418,6 +417,12 @@ static int cam_mem_util_get_dma_buf_fd(size_t len,
|
||||
*buf = ion_alloc(len, heap_id_mask, flags);
|
||||
if (IS_ERR_OR_NULL(*buf))
|
||||
return -ENOMEM;
|
||||
/*
|
||||
* increment the ref count so that ref count becomes 2 here
|
||||
* when we close fd, refcount becomes 1 and when we do
|
||||
* dmap_put_buf, ref count becomes 0 and memory will be freed.
|
||||
*/
|
||||
get_dma_buf(*buf);
|
||||
|
||||
*fd = dma_buf_fd(*buf, O_CLOEXEC);
|
||||
if (*fd < 0) {
|
||||
@@ -426,17 +431,6 @@ static int cam_mem_util_get_dma_buf_fd(size_t len,
|
||||
goto get_fd_fail;
|
||||
}
|
||||
|
||||
/*
|
||||
* increment the ref count so that ref count becomes 2 here
|
||||
* when we close fd, refcount becomes 1 and when we do
|
||||
* dmap_put_buf, ref count becomes 0 and memory will be freed.
|
||||
*/
|
||||
dmabuf = dma_buf_get(*fd);
|
||||
if (IS_ERR_OR_NULL(dmabuf)) {
|
||||
CAM_ERR(CAM_MEM, "dma_buf_get failed, *fd=%d", *fd);
|
||||
rc = -EINVAL;
|
||||
}
|
||||
|
||||
if (tbl.alloc_profile_enable) {
|
||||
CAM_GET_TIMESTAMP(ts2);
|
||||
CAM_GET_TIMESTAMP_DIFF_IN_MICRO(ts1, ts2, microsec);
|
||||
|
||||
Reference in new issue
Block a user