mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-05 09:36:39 -04:00
media: samsung: exynos4-is: fix potential ABBA deadlock on init
v4l2_device_register_subdev_nodes() must called without taking
media_dev->graph_mutex to avoid potential AB-BA deadlock on further
subdevice driver initialization.
Fixes: fa91f1056f ("[media] exynos4-is: Add support for asynchronous subdevices registration")
Cc: stable@vger.kernel.org
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
committed by
Hans Verkuil
parent
35f29b44ac
commit
17dc8ccd6d
@@ -1399,12 +1399,14 @@ static int subdev_notifier_complete(struct v4l2_async_notifier *notifier)
|
||||
mutex_lock(&fmd->media_dev.graph_mutex);
|
||||
|
||||
ret = fimc_md_create_links(fmd);
|
||||
if (ret < 0)
|
||||
goto unlock;
|
||||
if (ret < 0) {
|
||||
mutex_unlock(&fmd->media_dev.graph_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
mutex_unlock(&fmd->media_dev.graph_mutex);
|
||||
|
||||
ret = v4l2_device_register_subdev_nodes(&fmd->v4l2_dev);
|
||||
unlock:
|
||||
mutex_unlock(&fmd->media_dev.graph_mutex);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user