mirror of https://gitee.com/openkylin/linux.git
media: vimc: streamer: fix memory leak in vimc subdevs if kthread_run fails
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>
This commit is contained in:
parent
23c72dd9ff
commit
ceeb2e6166
|
@ -207,8 +207,13 @@ int vimc_streamer_s_stream(struct vimc_stream *stream,
|
|||
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)
|
||||
|
|
Loading…
Reference in New Issue