mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 18:37:58 -04:00
media: atomisp: Drop atomisp_pipe_check() from atomisp_link_setup()
The media-controller core (__media_entity_setup_link()) already checks that the pads of the link are not streaming before calling the setup_link() pad-op so calling atomisp_pipe_check() is not necessary; and taking isp->mutex inside the setup_link() pad-op leads to a possible ABBA deadlock vs the media-device graph_mutex which in the case of the setup_link() pad-op is taken before calling the op, while in other scenarios the graph_mutex is taken after the isp->mutex. Reviewed-by: Andy Shevchenko <andy@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
1c3432df23
commit
e03a5d3e95
@@ -644,7 +644,7 @@ static int atomisp_link_setup(struct media_entity *entity,
|
||||
entity);
|
||||
struct atomisp_sub_device *asd = v4l2_get_subdevdata(sd);
|
||||
struct atomisp_device *isp = asd->isp;
|
||||
int i, ret;
|
||||
int i;
|
||||
|
||||
/* ISP's source is immutable */
|
||||
if (local != &asd->pads[ATOMISP_SUBDEV_PAD_SINK]) {
|
||||
@@ -663,12 +663,6 @@ static int atomisp_link_setup(struct media_entity *entity,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
mutex_lock(&isp->mutex);
|
||||
ret = atomisp_pipe_check(&asd->video_out, true);
|
||||
mutex_unlock(&isp->mutex);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Turn off the sensor on link disable */
|
||||
if (!(flags & MEDIA_LNK_FL_ENABLED)) {
|
||||
atomisp_s_sensor_power(isp, i, 0);
|
||||
|
||||
Reference in New Issue
Block a user