Guennadi Liakhovetski 7d051b35d5 [media] soc-camera: properly fix camera probing races
The recently introduced host_lock causes lockdep warnings, besides, list
enumeration in scan_add_host() must be protected by holdint the list_lock.
OTOH, holding .video_lock in soc_camera_open() isn't enough to protect
the host during its building of the pipeline, because .video_lock is per
soc-camera device. If, e.g. more than one sensor can be attached to a host
and the user tries to open both device nodes simultaneously, host's .add()
method can be called simultaneously for both sensors. Fix these problems
by holding list_lock instead of .host_lock in scan_add_host() and taking
it shortly at the beginning of soc_camera_open(), and using .host_lock to
protect host's .add() and .remove() operations only.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2013-01-05 01:35:35 -02:00
..
2012-12-15 12:37:18 -08:00
2012-12-19 12:47:41 -08:00
2012-12-19 12:47:41 -08:00
2012-12-12 12:05:15 -08:00
2012-12-07 23:13:36 +01:00
2012-12-17 17:15:13 -08:00
2012-12-20 10:07:25 -08:00
2012-12-11 14:08:47 -08:00
2012-12-18 15:19:06 +10:30
2012-12-20 07:21:54 -08:00
2012-12-12 11:45:16 -08:00
2012-12-17 17:15:14 -08:00
2012-12-11 13:13:55 -08:00
2012-12-19 08:14:08 -08:00
2012-12-19 08:19:07 -08:00
2012-12-11 13:13:55 -08:00
2012-12-27 12:44:11 -02:00
2012-12-12 12:05:15 -08:00
2012-12-16 17:39:14 -08:00