On 4/23/20 4:16 PM, Dmitry Osipenko wrote:
External email: Use caution opening links or attachments
22.04.2020 09:18, Sowjanya Komatineni пишет:
+static int chan_capture_kthread_start(void *data)
+{
+ struct tegra_vi_channel *chan = data;
+ struct tegra_channel_buffer *buf;
+ int err = 0;
+
+ set_freezable();
+
+ while (1) {
+ try_to_freeze();
+
+ wait_event_interruptible(chan->start_wait,
+ !list_empty(&chan->capture) ||
+ kthread_should_stop());
+
+ if (kthread_should_stop())
+ break;
+
+ /*
+ * Source is not streaming if error is non-zero.
+ * So, do not dequeue buffers on capture error.
+ */
+ if (err)
+ continue;
This will result in an endless loop, I suppose it wasn't the intention.
no it will not. on error we report vb2_queue_error which will do
streaming stop request.
So thread will be stopped on streaming stop request thru kthread stop signal