1. 03 Sep, 2013 14 commits
    • Hans Verkuil's avatar
      [media] cx88: Fix regression: CX88_AUDIO_WM8775 can't be 0 · f66b2a1c
      Hans Verkuil authored
      Cards using the wm8775 specify that in their card struct. Those that do not
      use it leave the audio_chip field to 0. Unfortunately, the CX88_AUDIO_WM8775
      enum is 0 as well, so boards that do not have the wm8775 still try to load
      and use that driver. Change it to 1 to fix this.
      This regression was introduced in commit facd2366.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Reported-by: default avatarKnut Petersen <Knut_Petersen@t-online.de>
      Tested-by: default avatarKnut Petersen <Knut_Petersen@t-online.de>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      f66b2a1c
    • Sylwester Nawrocki's avatar
      [media] exynos4-is: Fix entity unregistration on error path · d2b903b4
      Sylwester Nawrocki authored
      This patch corrects media entities unregistration order to make sure
      the fimc.N.capture and fimc-lite video nodes are unregistered with
      fimc->lock mutex held. This prevents races between video device open()
      and defered probing and NULL pointer dereference in open() callback
      as follows:
      [   77.645000] Unable to handle kernel NULL pointer dereference at virtual address 00000290t
      [   77.655000] pgd = ee7a8000
      [   77.660000] [00000290] *pgd=6e13c831, *pte=00000000, *ppte=00000000
      [   77.665000] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
      [   77.670000] Modules linked in: s5p_fimc ipv6 exynos_fimc_is exynos_fimc_lite
       s5p_csis v4l2_mem2mem videobuf2_dma_contig videobuf2_memops exynos4_is_common videobuf2_core [last unloaded: s5p_fimc]
      [   77.685000] CPU: 0 PID : 2998 Comm: v4l_id Tainted: G        W   3.10.0-next-20130709-00039-g39f491b-dirty #1548
      [   77.695000] task: ee084000 ti: ee46e000 task.ti: ee46e000
      [   77.700000] PC is at __mutex_lock_slowpath+0x54/0x368
      [   77.705000] LR is at __mutex_lock_slowpath+0x24/0x368
      [   77.710000] pc : [<c038dc10>]    lr : [<c038dbe0>]    psr: 60000093
      [   77.710000] sp : ee46fd70  ip : 000008c8  fp : c054e34c
      [   77.725000] r10: ee084000  r9 : 00000000  r8 : ee439480
      [   77.730000] r7 : ee46e000  r6 : 60000013  r5 : 00000290  r4 : 0000028c
      [   77.735000] r3 : 00000000  r2 : 00000000  r1 : 20000093  r0 : 00000001
      [   77.740000] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment user
      [   77.750000] Control: 10c5387d  Table: 6e7a804a  DAC: 00000015
      [   77.755000] Process v4l_id (pid: 2998, stack limit = 0xee46e238)
      [   77.760000] Stack: (0xee46fd70 to 0xee470000)
          	       ...
      [   77.935000] [<c038dc10>] (__mutex_lock_slowpath+0x54/0x368) from [<c038df30>] (mutex_lock+0xc/0x24)
      [   77.945000] [<c038df30>] (mutex_lock+0xc/0x24) from [<bf03fa90>] (fimc_lite_open+0x12c/0x2bc [exynos_fimc_lite])
      [   77.955000] [<bf03fa90>] (fimc_lite_open+0x12c/0x2bc [exynos_fimc_lite]) from [<c02ab11c>] (v4l2_open+0xa0/0xe0)
      [   77.965000] [<c02ab11c>] (v4l2_open+0xa0/0xe0) from [<c00b1de4>] (chrdev_open+0x88/0x170)
      [   77.975000] [<c00b1de4>] (chrdev_open+0x88/0x170) from [<c00ac710>] (do_dentry_open.isra.14+0x1d8/0x258)
      [   77.985000] [<c00ac710>] (do_dentry_open.isra.14+0x1d8/0x258) from [<c00ac860>] (finish_open+0x20/0x38)
      [   77.995000] [<c00ac860>] (finish_open+0x20/0x38) from [<c00ba658>] (do_last.isra.43+0x538/0xb1c)
      [   78.000000] [<c00ba658>] (do_last.isra.43+0x538/0xb1c) from [<c00bacf0>] (path_openat+0xb4/0x5c4)
      [   78.010000] [<c00bacf0>] (path_openat+0xb4/0x5c4) from [<c00bb4b4>] (do_filp_open+0x2c/0x80)
      [   78.020000] [<c00bb4b4>] (do_filp_open+0x2c/0x80) from [<c00ad744>] (do_sys_open+0xf4/0x1a8)
      [   78.025000] [<c00ad744>] (do_sys_open+0xf4/0x1a8) from [<c000e320>] (ret_fast_syscall+0x0/0x30)
      [   78.035000] Code: 1a000093 e10f6000 f10c0080 e2845004 (e1953f9f)
      Reported-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      d2b903b4
    • Arun Kumar K's avatar
      [media] exynos-gsc: Register v4l2 device · d0b1c313
      Arun Kumar K authored
      Gscaler video device registration was happening without reference to
      a parent v4l2_dev causing probe to fail. The patch creates a parent
      v4l2 device and uses it for the gsc m2m video device registration.
      This fixes regression introduced with comit commit 1c1d86a1
      [media] v4l2: always require v4l2_dev, rename parent to dev_parent
      Signed-off-by: default avatarArun Kumar K <arun.kk@samsung.com>
      Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      d0b1c313
    • Arun Kumar K's avatar
      [media] exynos4-is: Fix fimc-lite bayer formats · 3396b096
      Arun Kumar K authored
      The 10-bit and 12-bit Bayer output formats supported by FIMC-LITE
      actually use 16 bits where the extra bits are padded with zeros.
      The patch corrects buffer allocation for these two formats by
      modifying the depth field. This prevents memory corruption by the
      output DMA due to insufficient buffer size.
      Signed-off-by: default avatarArun Kumar K <arun.kk@samsung.com>
      Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      3396b096
    • Alban Browaeys's avatar
      [media] em28xx: fix assignment of the eeprom data · 32bf7c6c
      Alban Browaeys authored
      Set the config structure pointer to the eeprom data pointer (data,
      here eedata dereferenced) not the pointer to the pointer to
      the eeprom data (eedata itself).
      Signed-off-by: default avatarAlban Browaeys <prahal@yahoo.com>
      Signed-off-by: default avatarFrank Schäfer <fschaefer.oss@googlemail.com>
      Cc: stable@vger.kernel.org      # for v3.10
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      32bf7c6c
    • Alexey Khoroshilov's avatar
      [media] hdpvr: fix iteration over uninitialized lists in hdpvr_probe() · 2e923a05
      Alexey Khoroshilov authored
      free_buff_list and rec_buff_list are initialized in the middle of hdpvr_probe(),
      but if something bad happens before that, error handling code calls hdpvr_delete(),
      which contains iteration over the lists (via hdpvr_free_buffers()).
      The patch moves the lists initialization to the beginning and by the way fixes
      goto label in error handling of registering videodev.
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      2e923a05
    • Lubomir Rintel's avatar
      [media] usbtv: Throw corrupted frames away · 6ee0faa5
      Lubomir Rintel authored
      Ignore out of order data and mark incomplete buffers as errored.
      This gets rid of annoying flicker due to occassional garbage from hardware.
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Cc: Hans Verkuil <hans.verkuil@cisco.com>
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-media@vger.kernel.org
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      6ee0faa5
    • Lubomir Rintel's avatar
      [media] usbtv: Fix deinterlacing · 30800724
      Lubomir Rintel authored
      The image data is laid out a bit more weirdly and thus needs more work to
      properly interlace. What we get from hardware is V4L2_FIELD_ALTERNATE, but
      since userspace support for it is practically nonexistent, thus we make
      V4L2_FIELD_INTERLACED from it so that it's more easily interpreted.
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      30800724
    • Andrzej Hajda's avatar
      [media] v4l2: added missing mutex.h include to v4l2-ctrls.h · a19dec6e
      Andrzej Hajda authored
      This patch fixes following error:
      include/media/v4l2-ctrls.h:193:15: error: field ‘_lock’ has incomplete type
      include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_lock’:
      include/media/v4l2-ctrls.h:570:2: error: implicit declaration of
      	function ‘mutex_lock’ [-Werror=implicit-function-declaration]
      include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_unlock’:
      include/media/v4l2-ctrls.h:579:2: error: implicit declaration of
      	function ‘mutex_unlock’ [-Werror=implicit-function-declaration]
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      a19dec6e
    • Andrzej Hajda's avatar
      [media] DocBook: upgrade media_api DocBook version to 4.2 · 8bfd4a68
      Andrzej Hajda authored
      Fixes the last three errors of media_api DocBook validatation:
      (...)
      media_api.xml:414: element imagedata: validity error : Value "SVG" for attribute format of imagedata is not among the enumerated set
      media_api.xml:432: element imagedata: validity error : Value "SVG" for attribute format of imagedata is not among the enumerated set
      media_api.xml:452: element imagedata: validity error : Value "SVG" for attribute format of imagedata is not among the enumerated set
      (...)
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      8bfd4a68
    • Hans Verkuil's avatar
      [media] ml86v7667: fix compile warning: 'ret' set but not used · 037f4e6b
      Hans Verkuil authored
      media_build/v4l/ml86v7667.c: In function 'ml86v7667_s_ctrl':
      media_build/v4l/ml86v7667.c:120:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
        int ret;
            ^
      And indeed, ret is set but not used. Let's actually return the error
      code.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      037f4e6b
    • Sachin Kamat's avatar
      [media] s5p-g2d: Fix registration failure · 8a09a4cc
      Sachin Kamat authored
      Commit 1c1d86a1 ("[media] v4l2: always require v4l2_dev,
      rename parent to dev_parent") expects v4l2_dev to be always set.
      It converted most of the drivers using the parent field of video_device
      to v4l2_dev field. G2D driver did not set the parent field. Hence it got
      left out. Without this patch we get the following boot warning and G2D
      driver fails to register the video device.
      WARNING: CPU: 0 PID: 1 at drivers/media/v4l2-core/v4l2-dev.c:775 __video_register_device+0xfc0/0x1028()
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.11.0-rc1-00001-g1c3e372-dirty #9
      [<c0014b7c>] (unwind_backtrace+0x0/0xf4) from [<c0011524>] (show_stack+0x10/0x14)
      [<c0011524>] (show_stack+0x10/0x14) from [<c041d7a8>] (dump_stack+0x7c/0xb0)
      [<c041d7a8>] (dump_stack+0x7c/0xb0) from [<c001dc94>] (warn_slowpath_common+0x6c/0x88)
      [<c001dc94>] (warn_slowpath_common+0x6c/0x88) from [<c001dd4c>] (warn_slowpath_null+0x1c/0x24)
      [<c001dd4c>] (warn_slowpath_null+0x1c/0x24) from [<c02cf8d4>] (__video_register_device+0xfc0/0x1028)
      [<c02cf8d4>] (__video_register_device+0xfc0/0x1028) from [<c0311a94>] (g2d_probe+0x1f8/0x398)
      [<c0311a94>] (g2d_probe+0x1f8/0x398) from [<c0247d54>] (platform_drv_probe+0x14/0x18)
      [<c0247d54>] (platform_drv_probe+0x14/0x18) from [<c0246b10>] (driver_probe_device+0x108/0x220)
      [<c0246b10>] (driver_probe_device+0x108/0x220) from [<c0246cf8>] (__driver_attach+0x8c/0x90)
      [<c0246cf8>] (__driver_attach+0x8c/0x90) from [<c0245050>] (bus_for_each_dev+0x60/0x94)
      [<c0245050>] (bus_for_each_dev+0x60/0x94) from [<c02462c8>] (bus_add_driver+0x1c0/0x24c)
      [<c02462c8>] (bus_add_driver+0x1c0/0x24c) from [<c02472d0>] (driver_register+0x78/0x140)
      [<c02472d0>] (driver_register+0x78/0x140) from [<c00087c8>] (do_one_initcall+0xf8/0x144)
      [<c00087c8>] (do_one_initcall+0xf8/0x144) from [<c05b29e8>] (kernel_init_freeable+0x13c/0x1d8)
      [<c05b29e8>] (kernel_init_freeable+0x13c/0x1d8) from [<c041a108>] (kernel_init+0xc/0x160)
      [<c041a108>] (kernel_init+0xc/0x160) from [<c000e2f8>] (ret_from_fork+0x14/0x3c)
      ---[ end trace 4e0ec028b0028e02 ]---
      s5p-g2d 12800000.g2d: Failed to register video device
      s5p-g2d: probe of 12800000.g2d failed with error -22
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Cc: Hans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      8a09a4cc
    • Alexander Shiyan's avatar
      [media] media: coda: Fix DT driver data pointer for i.MX27 · 7b0dd9e6
      Alexander Shiyan authored
      The data pointer should point to DT data, and not to the ID
      array.
      Signed-off-by: default avatarAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      7b0dd9e6
    • John Sheu's avatar
      [media] s5p-mfc: Fix input/output format reporting · 19c2813c
      John Sheu authored
      The video encode/decode paths have duplicated logic between
      VIDIOC_TRY_FMT and VIDIOC_S_FMT that should be de-duped.  Also, video
      decode reports V4L2_PIX_FMT_NV12MT_16X16 output format, regardless of
      what the actual output has been set at.  Fix this.
      Signed-off-by: default avatarJohn Sheu <sheu@google.com>
      Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: stable@vger.kernel.org
      19c2813c
  2. 28 Aug, 2013 3 commits
  3. 26 Aug, 2013 5 commits
  4. 25 Aug, 2013 3 commits
  5. 24 Aug, 2013 15 commits