media: imx: imx7_mipi_csis: Move link setup check out of locked section

Checking if the link setup operation is called for the sink or source
pad doesn't require any locking. Move it out of the section protected by
the mutex.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.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:
Laurent Pinchart 2021-02-15 05:27:33 +01:00 committed by Mauro Carvalho Chehab
parent 57b94933eb
commit bef63005e3

View File

@ -668,20 +668,23 @@ static int mipi_csis_link_setup(struct media_entity *entity,
dev_dbg(state->dev, "link setup %s -> %s", remote_pad->entity->name,
local_pad->entity->name);
/* We only care about the link to the source. */
if (!(local_pad->flags & MEDIA_PAD_FL_SINK))
return 0;
remote_sd = media_entity_to_v4l2_subdev(remote_pad->entity);
mutex_lock(&state->lock);
if (local_pad->flags & MEDIA_PAD_FL_SINK) {
if (flags & MEDIA_LNK_FL_ENABLED) {
if (state->src_sd) {
ret = -EBUSY;
goto out;
}
state->src_sd = remote_sd;
} else {
state->src_sd = NULL;
if (flags & MEDIA_LNK_FL_ENABLED) {
if (state->src_sd) {
ret = -EBUSY;
goto out;
}
state->src_sd = remote_sd;
} else {
state->src_sd = NULL;
}
out: