msm: isp: Handle pingpong bit mismatch gracefully

Ping pong mismatch occurs when the interrupts miss happens.
Handle this scenario properly by sending error to userspace.

Change-Id: Idd8f9979a9b0e8c6a1989dd89ed6b98ccaa54ac9
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
This commit is contained in:
Abhishek Kondaveeti 2016-02-01 11:45:28 +05:30 committed by David Keitel
parent a2b1739e1e
commit ab75fe5eea

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -681,7 +681,10 @@ static int msm_isp_update_put_buf_cnt_unsafe(
bufq->stream_id, buf_info->state);
return -EFAULT;
}
BUG_ON(buf_info->pingpong_bit != pingpong_bit);
if (buf_info->pingpong_bit != pingpong_bit) {
pr_err("%s: Pingpong bit mismatch\n", __func__);
return -EFAULT;
}
}
if (bufq->buf_type != ISP_SHARE_BUF ||