In case kthread_run fails, the vimc subdevices
should be notified that streaming stopped so they can
release the memory for the streaming. Also, kthread should be
set to NULL.
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Acked-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
                stream->kthread = kthread_run(vimc_streamer_thread, stream,
                                              "vimc-streamer thread");
 
-               if (IS_ERR(stream->kthread))
-                       return PTR_ERR(stream->kthread);
+               if (IS_ERR(stream->kthread)) {
+                       ret = PTR_ERR(stream->kthread);
+                       dev_err(ved->dev, "kthread_run failed with %d\n", ret);
+                       vimc_streamer_pipeline_terminate(stream);
+                       stream->kthread = NULL;
+                       return ret;
+               }
 
        } else {
                if (!stream->kthread)