lockdep_assert_held(&isp->mutex);
 
+       if (!atomisp_streaming_count(isp))
+               return;
+
        atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF, false);
 
        BUG_ON(isp->num_of_streams > MAX_STREAM_NUM);
                                                  assert_recovery_work);
 
        mutex_lock(&isp->mutex);
-
-       if (atomisp_streaming_count(isp))
-               __atomisp_css_recover(isp, true);
-
+       __atomisp_css_recover(isp, true);
        mutex_unlock(&isp->mutex);
 }
 
 void atomisp_css_flush(struct atomisp_device *isp)
 {
-       lockdep_assert_held(&isp->mutex);
-
-       if (!atomisp_streaming_count(isp))
-               return;
-
        /* Start recover */
        __atomisp_css_recover(isp, false);