media: staging: rkisp1: don't lock media's graph_mutex when calling rkisp1_create_links
authorDafna Hirschfeld <dafna.hirschfeld@collabora.com>
Tue, 4 Feb 2020 21:44:44 +0000 (22:44 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 24 Feb 2020 16:33:42 +0000 (17:33 +0100)
The function rkisp1_create_links calls media_entity_get_fwnode_pad
and media_create_pad_link in the mc api. Those calls don't require
locking the graph_mutex so remove the locking.

Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Acked-by: Helen Koike <helen.koike@collabora.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/rkisp1/rkisp1-dev.c

index 4030d5e..275310d 100644 (file)
@@ -220,19 +220,17 @@ static int rkisp1_subdev_notifier_complete(struct v4l2_async_notifier *notifier)
                container_of(notifier, struct rkisp1_device, notifier);
        int ret;
 
-       mutex_lock(&rkisp1->media_dev.graph_mutex);
        ret = rkisp1_create_links(rkisp1);
        if (ret)
-               goto unlock;
+               return ret;
+
        ret = v4l2_device_register_subdev_nodes(&rkisp1->v4l2_dev);
        if (ret)
-               goto unlock;
+               return ret;
 
        dev_dbg(rkisp1->dev, "Async subdev notifier completed\n");
 
-unlock:
-       mutex_unlock(&rkisp1->media_dev.graph_mutex);
-       return ret;
+       return 0;
 }
 
 static int rkisp1_fwnode_parse(struct device *dev,