diff mbox

[1/2,media] media-entity: use mutes for link setup

Message ID 0a8b9468b9da5f5d4177446696a91ce4099354d0.1450174116.git.mchehab@osg.samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mauro Carvalho Chehab Dec. 15, 2015, 10:08 a.m. UTC
Changeset f8fd4c61b5ae ("[media] media-entity: protect object
creation/removal using spin lock") changed the object creation/removal
protection to spin lock, as this is what's used on media-device,
keeping the mutex reserved for graph traversal routines. However, it
also changed the link setup, by mistake.

This could cause troubles, as the link setup can affect the graph
traversal, and this is likely the reason for a mutex there.

So, revert media_entity_setup_link() to use mutex.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
---
 drivers/media/media-entity.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
index 5d871b243e87..29810f9b86ce 100644
--- a/drivers/media/media-entity.c
+++ b/drivers/media/media-entity.c
@@ -662,9 +662,9 @@  int media_entity_setup_link(struct media_link *link, u32 flags)
 {
 	int ret;
 
-	spin_lock(&link->source->entity->graph_obj.mdev->lock);
+	mutex_lock(&link->graph_obj.mdev->graph_mutex);
 	ret = __media_entity_setup_link(link, flags);
-	spin_unlock(&link->source->entity->graph_obj.mdev->lock);
+	mutex_unlock(&link->graph_obj.mdev->graph_mutex);
 
 	return ret;
 }