V4L/DVB (12520): sh-mobile-ceu-camera: do not wait for interrupt when releasing buffers
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Tue, 25 Aug 2009 14:46:51 +0000 (11:46 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 19 Sep 2009 03:18:51 +0000 (00:18 -0300)
commitcca0e54905259a456d97652d4f1e2fe8b188b6ad
tree82a0af7fadc341e4955628f45c2110439c9701e8
parentfa48984e36ee73e964eeb994a45de6525114e871
V4L/DVB (12520): sh-mobile-ceu-camera: do not wait for interrupt when releasing buffers

Patch

[PATCH] video: use videobuf_waiton() in sh_mobile_ceu free_buffer()

was not quite correct. It closed a race, but introduced a potential
lock-up, if for some reason an interrupt does not come. This has been
observed in tests with tw9910. This patch safely dequeues buffers without
waiting for their completion. It also moves a buffer state assignment
under a spinlock to make it atomic with queuing of the buffer.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/sh_mobile_ceu_camera.c