linux/drivers/media
Hans Verkuil ba04d37587 media: saa7134: fix regression with tvtime
commit 17e7f1b515 upstream.

This solves this bug:

https://bugzilla.kernel.org/show_bug.cgi?id=73361

The problem is that when you quit tvtime it calls STREAMOFF, but then it queues a
bunch of buffers for no good reason before closing the file descriptor.

In the past closing the fd would free the vb queue since that was part of the file
handle struct. Since that was moved to the global struct that no longer happened.

This wouldn't be a problem, but the extra QBUF calls that tvtime does meant that
the buffer list in videobuf (q->stream) contained buffers, so REQBUFS would fail
with -EBUSY.

The solution is to init the list head explicitly when releasing the file
descriptor and to not free the video resource when calling streamoff.

The real fix will hopefully go into kernel 3.16 when the vb2 conversion is
merged. Basically the saa7134 driver with the old videobuf is so full of holes it
ain't funny anymore, so consider this a band-aid for kernels 3.14 and 15.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2014-06-30 20:13:59 -07:00
..
common [media] rc: abstract access to allowed/enabled protocols 2014-03-11 13:24:39 -03:00
dvb-core rtl28xxu: add [1b80:d3af] Sveon STV27 2014-06-16 13:44:09 -07:00
dvb-frontends [media] lgdt3305: include sleep functionality in lgdt3304_ops 2014-04-07 09:40:24 -03:00
firewire firewire: introduce fw_driver.probe and .remove methods 2013-06-09 18:15:00 +02:00
i2c [media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space 2014-05-13 20:03:02 -03:00
mmc [media] siano: get rid of CammelCase from smscoreapi.h 2013-03-21 10:03:16 -03:00
parport [media] vb2: call buf_finish from __queue_cancel 2014-03-11 06:56:39 -03:00
pci media: saa7134: fix regression with tvtime 2014-06-30 20:13:59 -07:00
platform media: exynos4-is: Fix compilation for !CONFIG_COMMON_CLK 2014-06-30 20:13:58 -07:00
radio [media] si4713: fix Kconfig dependencies 2014-03-28 18:06:55 -03:00
rc [media] rc-core: remove generic scancode filter 2014-04-06 11:30:29 -03:00
tuners [media] fc2580: fix tuning failure on 32-bit arch 2014-04-16 18:13:11 -03:00
usb media: uvcvideo: Fix clock param realtime setting 2014-06-30 20:13:58 -07:00
v4l2-core [media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode 2014-05-13 20:03:31 -03:00
Kconfig [media] subdev autoselect only works if I2C and I2C_MUX is selected 2013-12-21 06:03:06 -02:00
Makefile [media] move i2c files into drivers/media/i2c 2012-09-06 18:42:54 -03:00
media-device.c [media] media-device: fix infoleak in ioctl media_enum_entities() 2014-05-01 05:53:28 -07:00
media-devnode.c [media] media: Add 64--32 bit compat ioctl handler 2013-03-18 20:44:36 -03:00
media-entity.c [media] media: Check for active links on pads with MEDIA_PAD_FL_MUST_CONNECT flag 2013-12-04 15:03:45 -02:00