diff --git a/drivers/media/i2c/rk628/rk628_csi_v4l2.c b/drivers/media/i2c/rk628/rk628_csi_v4l2.c index bbbb36d284ef..b4c058d3e55f 100644 --- a/drivers/media/i2c/rk628/rk628_csi_v4l2.c +++ b/drivers/media/i2c/rk628/rk628_csi_v4l2.c @@ -956,7 +956,8 @@ static void enable_stream(struct v4l2_subdev *sd, bool en) enable_csitx(sd); rk628_hdmirx_vid_enable(sd, true); - if (csi->plat_data->tx_mode == CSI_MODE) { + if (csi->plat_data->tx_mode == CSI_MODE && + csi->rk628->version >= RK628F_VERSION) { msleep(20); rk628_mipi_txdata_reset(sd); rk628_csi_enable_csi_interrupts(sd, true); @@ -968,8 +969,10 @@ static void enable_stream(struct v4l2_subdev *sd, bool en) GCPFORCE_CLRAVMUTE_MASK, GCPFORCE_CLRAVMUTE(0)); } else { if (csi->plat_data->tx_mode == CSI_MODE) { - rk628_csi_enable_csi_interrupts(sd, false); - msleep(20); + if (csi->rk628->version >= RK628F_VERSION) { + rk628_csi_enable_csi_interrupts(sd, false); + msleep(20); + } rk628_hdmirx_vid_enable(sd, false); rk628_csi_disable_stream(sd); } else {