msm: camera: reqmgr: Logs v4l2 event queue failure
Kernel uses v4l2 events to communicate with userspace. If userspace is not dequeuing events and kernel is pushing more events then v4l2_event_queue fails silently. This change uses v4l2 callbacks to log v4l2_event_queue failure. CRs-Fixed: 2541894 Change-Id: I98f8f609f615104ec6dde569bf1f39de1eb368fc Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
这个提交包含在:

提交者
Gerrit - the friendly Code Review server

父节点
af27416f68
当前提交
3619ae634b
@@ -847,10 +847,25 @@ static int cam_sync_close(struct file *filep)
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void cam_sync_event_queue_notify_error(const struct v4l2_event *old,
|
||||
struct v4l2_event *new)
|
||||
{
|
||||
struct cam_sync_ev_header *ev_header;
|
||||
|
||||
ev_header = CAM_SYNC_GET_HEADER_PTR((*old));
|
||||
CAM_ERR(CAM_CRM, "Failed to notify event id %d fence %d statue %d",
|
||||
old->id, ev_header->sync_obj, ev_header->status);
|
||||
}
|
||||
|
||||
static struct v4l2_subscribed_event_ops cam_sync_v4l2_ops = {
|
||||
.merge = cam_sync_event_queue_notify_error,
|
||||
};
|
||||
|
||||
int cam_sync_subscribe_event(struct v4l2_fh *fh,
|
||||
const struct v4l2_event_subscription *sub)
|
||||
{
|
||||
return v4l2_event_subscribe(fh, sub, CAM_SYNC_MAX_V4L2_EVENTS, NULL);
|
||||
return v4l2_event_subscribe(fh, sub, CAM_SYNC_MAX_V4L2_EVENTS,
|
||||
&cam_sync_v4l2_ops);
|
||||
}
|
||||
|
||||
int cam_sync_unsubscribe_event(struct v4l2_fh *fh,
|
||||
|
在新工单中引用
屏蔽一个用户