mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
msm: camera: ife: Look into next request if res not found
In cases where IRQ delays or overlap happens, the IRQ we get for the resource may belong to the 2nd request in the queue. If the IRQ resource is not found in top request, look into the second request as well. CRs-Fixed: 2600457 Change-Id: Ida2665a00169463e2f146de1cfa6be076d8c7d72 Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
This commit is contained in:
parent
6c7de8467b
commit
a44cb8d722
1 changed files with 22 additions and 4 deletions
|
|
@ -809,10 +809,28 @@ static int __cam_isp_ctx_handle_buf_done_for_request(
|
|||
}
|
||||
|
||||
if (j == req_isp->num_fence_map_out) {
|
||||
CAM_ERR(CAM_ISP,
|
||||
"Can not find matching lane handle 0x%x!",
|
||||
done->resource_handle[i]);
|
||||
rc = -EINVAL;
|
||||
if (done_next_req) {
|
||||
/*
|
||||
* If not found in current request, it could be
|
||||
* belonging to next request, This can happen if
|
||||
* IRQ delay happens.
|
||||
*/
|
||||
CAM_WARN(CAM_ISP,
|
||||
"BUF_DONE for res 0x%x not found in Req %lld ",
|
||||
__cam_isp_resource_handle_id_to_type(
|
||||
done->resource_handle[i]),
|
||||
req->request_id);
|
||||
|
||||
done_next_req->resource_handle
|
||||
[done_next_req->num_handles++] =
|
||||
done->resource_handle[i];
|
||||
} else {
|
||||
CAM_ERR(CAM_ISP,
|
||||
"Can not find matching lane handle 0x%x! in Req %lld",
|
||||
done->resource_handle[i],
|
||||
req->request_id);
|
||||
rc = -EINVAL;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue