android_kernel_motorola_sm6225/drivers/media/video/saa7134
Arjan van de Ven a17898737e V4L/DVB (8108): Fix open/close race in saa7134
The saa7134 driver uses a (non-atomic) variable in an attempt to
only allow one opener of the device (how it deals with sending
the fd over unix sockets I don't know).

Unfortunately, the release function first decrements this variable,
and THEN goes on to disable more of the device. This allows for
a race where another opener of the device comes in after the decrement of
the variable, configures the hardware just to then see the hardware
be disabled by the rest of the release function.

This patch makes the release function use the same lock as the open
function to protect the hardware as well as the variable (which now
at least has some locking to protect it).

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-26 15:58:59 -03:00
..
Kconfig V4L/DVB (7851): Fix FW_LOADER depencency at v4l/dvb 2008-05-14 02:54:08 -03:00
Makefile V4L/DVB(7767): Move tuners to common/tuners 2008-04-29 18:41:37 -03:00
saa6752hs.c V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls 2007-10-22 12:01:30 -02:00
saa7134-alsa.c V4L/DVB (8026): Avoids an OOPS if dev struct can't be successfully recovered 2008-06-26 15:58:47 -03:00
saa7134-cards.c V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia E506 2008-06-26 15:58:52 -03:00
saa7134-core.c V4L/DVB (7881): saa7134: fixed a compile warning in saa7134-core.c 2008-05-14 02:56:43 -03:00
saa7134-dvb.c V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia E506 2008-06-26 15:58:52 -03:00
saa7134-empress.c V4L/DVB (8108): Fix open/close race in saa7134 2008-06-26 15:58:59 -03:00
saa7134-i2c.c V4L/DVB (7753): saa7134: fix tuner setup 2008-04-29 18:41:33 -03:00
saa7134-input.c V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia E506 2008-06-26 15:58:52 -03:00
saa7134-reg.h V4L/DVB (7390): saa7134: clear audio DSP interface after access error 2008-04-24 14:07:52 -03:00
saa7134-ts.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7134-tvaudio.c V4L/DVB (7390): saa7134: clear audio DSP interface after access error 2008-04-24 14:07:52 -03:00
saa7134-vbi.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
saa7134-video.c fix irq flags in saa7134 2008-05-08 10:46:55 -07:00
saa7134.h V4L/DVB (7765): Add support for Beholder BeholdTV H6 2008-04-29 18:41:36 -03:00