media: rockchip: isp1: change list_del sequence for oops error

Change-Id: I5335a4929167736359f97acb7ff9b651260dd05e
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
This commit is contained in:
Hu Kejun
2018-10-11 16:24:43 +08:00
committed by Tao Huang
parent dd4b4b493a
commit 795691a170

View File

@@ -1603,16 +1603,18 @@ void rkisp1_params_isr(struct rkisp1_isp_params_vdev *params_vdev, u32 isp_mis)
if (!list_empty(&params_vdev->params))
cur_buf = list_first_entry(&params_vdev->params,
struct rkisp1_buffer, queue);
spin_unlock(&params_vdev->config_lock);
if (!cur_buf)
if (!cur_buf) {
spin_unlock(&params_vdev->config_lock);
return;
}
new_params = (struct rkisp1_isp_params_cfg *)(cur_buf->vaddr[0]);
if (isp_mis & CIF_ISP_FRAME) {
u32 isp_ctrl;
list_del(&cur_buf->queue);
__isp_isr_other_config(params_vdev, new_params);
__isp_isr_meas_config(params_vdev, new_params);
@@ -1621,13 +1623,10 @@ void rkisp1_params_isr(struct rkisp1_isp_params_vdev *params_vdev, u32 isp_mis)
isp_ctrl |= CIF_ISP_CTRL_ISP_CFG_UPD;
rkisp1_iowrite32(params_vdev, isp_ctrl, CIF_ISP_CTRL);
spin_lock(&params_vdev->config_lock);
list_del(&cur_buf->queue);
spin_unlock(&params_vdev->config_lock);
cur_buf->vb.sequence = cur_frame_id;
vb2_buffer_done(&cur_buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
}
spin_unlock(&params_vdev->config_lock);
}
static const struct cifisp_awb_meas_config awb_params_default_config = {