1. 21 Sep, 2014 11 commits
    • Hans Verkuil's avatar
      [media] cx2341x: fix kernel oops · 50394e73
      Hans Verkuil authored
      The v4l2_ctrl_config struct must be zeroed before passing it to
      v4l2_ctrl_new_custom(). This was always wrong, but with the recent
      v4l2-ctrls.c changes this is now much more likely to lead to a
      kernel bug.
      
      This is the only place where this struct wasn't initialized properly.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Reported-by: default avatarPridvorov Andrey <ua0lnj@bk.ru>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      50394e73
    • Hans Verkuil's avatar
      [media] cx24123: fix kernel oops due to missing parent pointer · fdc6b388
      Hans Verkuil authored
      When I try to set the TV standard to e.g. PAL on my Hauppauge WinTV-HVR3000 I get
      the following oops:
      
       9464.262345] CX24123: detected CX24123
      [ 9464.262526] BUG: unable to handle kernel NULL pointer dereference at 0000000000000230
      [ 9464.262555] IP: [<ffffffff816676b5>] acpi_i2c_install_space_handler+0x15/0xc0
      [ 9464.262576] PGD 0
      [ 9464.262584] Oops: 0000 [#1] PREEMPT SMP
      [ 9464.262597] Modules linked in: cx24123 cx22702 cx88_dvb(+) videobuf_dvb cx88_vp3054_i2c cx88_blackbird cx8802 ir_lirc_codec ir_xmp_decoder ir_sanyo_decoder ir_jvc_decoder ir_mce_kbd_decoder ir_sharp_decoder lirc_dev ir_sony_decoder ir_rc6_decoder ir_nec_decoder ir_rc5_decoder rc_hauppauge wm8775 tuner_simple tuner_types tda9887 cx8800 cx88xx btcx_risc videobuf_dma_sg videobuf_core mt2131 s5h1409 tda8290 tuner cx25840 cx23885 altera_ci tda18271 altera_stapl videobuf2_dvb tveeprom cx2341x videobuf2_dma_sg dvb_core rc_core videobuf2_memops videobuf2_core v4l2_common videodev media nouveau x86_pkg_temp_thermal cfbfillrect cfbimgblt cfbcopyarea ttm drm_kms_helper processor button isci
      [ 9464.262786] CPU: 2 PID: 2417 Comm: modprobe Not tainted 3.17.0-rc1-telek #322
      [ 9464.262796] Hardware name: ASUSTeK COMPUTER INC. Z9PE-D8 WS/Z9PE-D8 WS, BIOS 5404 02/10/2014
      [ 9464.262807] task: ffff881097959ad0 ti: ffff88109967c000 task.ti: ffff88109967c000
      [ 9464.262817] RIP: 0010:[<ffffffff816676b5>]  [<ffffffff816676b5>] acpi_i2c_install_space_handler+0x15/0xc0
      [ 9464.262834] RSP: 0018:ffff88109967fbd8  EFLAGS: 00010246
      [ 9464.262843] RAX: 0000000000000000 RBX: ffff880892a89540 RCX: 0000000000000000
      [ 9464.262853] RDX: 0000000080000001 RSI: ffff880892e75870 RDI: ffff880892a89540
      [ 9464.262862] RBP: ffff88109967fbf8 R08: ffff881099b2ccc0 R09: ffff880891efa088
      [ 9464.262872] R10: 0000000000000000 R11: 0000000000000022 R12: 0000000000000000
      [ 9464.262883] R13: ffff880892a895b0 R14: 00000000ffffffed R15: ffff88089b48f800
      [ 9464.262893] FS:  00007fe42b6d7700(0000) GS:ffff88089fc40000(0000) knlGS:0000000000000000
      [ 9464.262904] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 9464.262912] CR2: 0000000000000230 CR3: 0000001094078000 CR4: 00000000000407e0
      [ 9464.262922] Stack:
      [ 9464.262927]  ffff880892a89540 0000000000000000 ffff880892a895b0 ffff88109a155a80
      [ 9464.262944]  ffff88109967fc20 ffffffff81666a36 0000000000000020 ffff880892a89540
      [ 9464.262960]  ffffffffa01c8d40 ffff88109967fc40 ffffffff81666c67 ffff880892a89000
      [ 9464.262977] Call Trace:
      [ 9464.262987]  [<ffffffff81666a36>] i2c_register_adapter+0x166/0x340
      [ 9464.262998]  [<ffffffff81666c67>] i2c_add_adapter+0x57/0x60
      [ 9464.263011]  [<ffffffffa01e2c58>] cx24123_attach+0x108/0x1ba [cx24123]
      [ 9464.263025]  [<ffffffffa01c5a76>] dvb_register+0x404/0x245b [cx88_dvb]
      [ 9464.263039]  [<ffffffffa0059183>] ? videobuf_queue_core_init+0xe3/0x140 [videobuf_core]
      [ 9464.263052]  [<ffffffffa01c54b1>] cx8802_dvb_probe+0x1e1/0x261 [cx88_dvb]
      [ 9464.263066]  [<ffffffffa01a3b00>] cx8802_register_driver+0x190/0x20d [cx8802]
      [ 9464.263077]  [<ffffffffa01cc000>] ? 0xffffffffa01cc000
      [ 9464.263089]  [<ffffffffa01cc025>] dvb_init+0x25/0x27 [cx88_dvb]
      [ 9464.263101]  [<ffffffff810002c4>] do_one_initcall+0x84/0x1c0
      [ 9464.263113]  [<ffffffff811893fa>] ? __vunmap+0x9a/0x100
      [ 9464.263125]  [<ffffffff81122a66>] load_module+0x1216/0x1790
      [ 9464.263134]  [<ffffffff8111ff70>] ? __symbol_put+0x70/0x70
      [ 9464.263145]  [<ffffffff811aa8cc>] ? vfs_read+0x11c/0x170
      [ 9464.263156]  [<ffffffff811201d9>] ? copy_module_from_fd.isra.53+0x119/0x170
      [ 9464.263168]  [<ffffffff81123116>] SyS_finit_module+0x76/0x80
      [ 9464.263181]  [<ffffffff818d19e9>] system_call_fastpath+0x16/0x1b
      [ 9464.263190] Code: 81 31 c0 e8 2e f6 e8 ff 48 83 c4 08 5b 5d eb de 66 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 54 53 41 be ed ff ff ff 48 8b 47 70 <48> 8b 80 30 02 00 00 48 85 c0 74 58 4c 8b 68 08 4d 85 ed 74 4f
      [ 9464.263347] RIP  [<ffffffff816676b5>] acpi_i2c_install_space_handler+0x15/0xc0
      [ 9464.263361]  RSP <ffff88109967fbd8>
      [ 9464.263367] CR2: 0000000000000230
      [ 9464.266919] ---[ end trace 57fd490bdb72e733 ]---
      
      I traced this to a NULL i2c_adapter parent pointer when cx24123 creates its own
      i2c adapter. The acpi_i2c_install_space_handler function appeared in 3.17, so
      that's probably why this hasn't been seen before.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      fdc6b388
    • Hans Verkuil's avatar
      [media] adv7604: fix inverted condition · 77639ff2
      Hans Verkuil authored
      The log_status function should show HDMI information, but the test checking for
      an HDMI input was inverted. Fix this.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Cc: stable@vger.kernel.org      # for v3.12 and up
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      77639ff2
    • Randy Dunlap's avatar
      [media] media/radio: fix radio-miropcm20.c build with io.h header file · 7102076c
      Randy Dunlap authored
      Fix build errors in radio-miropcm20.c due to missing header file:
      
      drivers/media/radio/radio-miropcm20.c: In function 'rds_waitread':
      drivers/media/radio/radio-miropcm20.c:90:3: error: implicit declaration of function 'inb' [-Werror=implicit-function-declaration]
      drivers/media/radio/radio-miropcm20.c: In function 'rds_rawwrite':
      drivers/media/radio/radio-miropcm20.c:106:3: error: implicit declaration of function 'outb' [-Werror=implicit-function-declaration]
      Reported-by: default avatarJim Davis <jim.epost@gmail.com>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      7102076c
    • Zhaowei Yuan's avatar
      [media] vb2: fix plane index sanity check in vb2_plane_cookie() · a9ae4692
      Zhaowei Yuan authored
      It's also invalid when plane_no is equal to vb->num_planes
      Signed-off-by: default avatarZhaowei Yuan <zhaowei.yuan@samsung.com>
      Cc: stable@vger.kernel.org      # for v3.7 and up
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      a9ae4692
    • Hans Verkuil's avatar
      [media] DocBook media: update version number and V4L2 changes · 983ed755
      Hans Verkuil authored
      Note: the revision text for the v4l2_pix_format change from Laurent
      erroneously mentioned 3.16 when it only got merged for 3.17. Fixed
      that as well.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      983ed755
    • Hans Verkuil's avatar
      [media] DocBook media: fix fieldname in struct v4l2_subdev_selection · 1b88db2f
      Hans Verkuil authored
      Field 'rect' is really named 'r'.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      1b88db2f
    • Hans Verkuil's avatar
      [media] vb2: fix vb2 state check when start_streaming fails · bf3593d9
      Hans Verkuil authored
      Commit bd994ddb (vb2: Fix stream start and
      buffer completion race) broke the buffer state check in vb2_buffer_done.
      
      So accept all three possible states there since I can no longer tell the
      difference between vb2_buffer_done called from start_streaming or from
      elsewhere.
      
      Instead add a WARN_ON at the end of start_streaming that will check whether
      any buffers were added to the done list, since that implies that the wrong
      state was used as well.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: stable@vger.kernel.org      # for v3.15 and up
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      bf3593d9
    • Hans Verkuil's avatar
      [media] videobuf2-core.h: fix comment · 44e8e69d
      Hans Verkuil authored
      The comment for start_streaming that tells the developer with which vb2 state
      buffers should be returned to vb2 gave the wrong state. Very confusing.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      44e8e69d
    • Hans Verkuil's avatar
      [media] videobuf2-core: add comments before the WARN_ON · 23cd08c8
      Hans Verkuil authored
      Recently WARN_ON() calls have been added to warn if the driver is not
      properly returning buffers to vb2 in start_streaming (if it fails) or
      stop_streaming(). Add comments before those WARN_ON calls that refer
      to the videobuf2-core.h header that explains what drivers are supposed
      to do in these situations. That should help point developers in the
      right direction if they see these warnings.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: default avatarPawel Osciak <pawel@osciak.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      23cd08c8
    • Hans Verkuil's avatar
      [media] videobuf2-dma-sg: fix for wrong GFP mask to sg_alloc_table_from_pages · 47bc59c5
      Hans Verkuil authored
      sg_alloc_table_from_pages() only allocates a sg_table, so it should just use
      GFP_KERNEL, not gfp_flags. If gfp_flags contains __GFP_DMA32 then mm/sl[au]b.c
      will call BUG_ON:
      
      [  358.027515] ------------[ cut here ]------------
      [  358.027546] kernel BUG at mm/slub.c:1416!
      [  358.027558] invalid opcode: 0000 [#1] PREEMPT SMP
      [  358.027576] Modules linked in: mt2131 s5h1409 tda8290 tuner cx25840 cx23885 btcx_risc altera_ci tda18271 altera_stapl videobuf2_dvb tveeprom cx2341x videobuf2_dma_sg dvb_core rc_core videobuf2_memops videobuf2_core nouveau zr36067 videocodec v4l2_common videodev media x86_pkg_temp_thermal cfbfillrect cfbimgblt cfbcopyarea ttm drm_kms_helper processor button isci
      [  358.027712] CPU: 19 PID: 3654 Comm: cat Not tainted 3.16.0-rc6-telek #167
      [  358.027723] Hardware name: ASUSTeK COMPUTER INC. Z9PE-D8 WS/Z9PE-D8 WS, BIOS 5404 02/10/2014
      [  358.027741] task: ffff880897c7d960 ti: ffff88089b4d4000 task.ti: ffff88089b4d4000
      [  358.027753] RIP: 0010:[<ffffffff81196040>]  [<ffffffff81196040>] new_slab+0x280/0x320
      [  358.027776] RSP: 0018:ffff88089b4d7ae8  EFLAGS: 00010002
      [  358.027787] RAX: ffff880897c7d960 RBX: 0000000000000000 RCX: ffff88089b4d7b50
      [  358.027798] RDX: 00000000ffffffff RSI: 0000000000000004 RDI: ffff88089f803b00
      [  358.027809] RBP: ffff88089b4d7bb8 R08: 0000000000000000 R09: 0000000100400040
      [  358.027821] R10: 0000160000000000 R11: ffff88109bc02c40 R12: 0000000000000001
      [  358.027832] R13: ffff88089f8000c0 R14: ffff88089f803b00 R15: ffff8810bfcf4be0
      [  358.027845] FS:  00007f83fe5c0700(0000) GS:ffff8810bfce0000(0000) knlGS:0000000000000000
      [  358.027858] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  358.027868] CR2: 0000000001dfd568 CR3: 0000001097d5a000 CR4: 00000000000407e0
      [  358.027878] Stack:
      [  358.027885]  ffffffff81198860 ffff8810bfcf4be0 ffff880897c7d960 0000000000001b00
      [  358.027905]  ffff880897c7d960 0000000000000000 ffff8810bfcf4bf0 0000000000000000
      [  358.027924]  0000000000000000 0000000100000100 ffffffff813ef84a 00000004ffffffff
      [  358.027944] Call Trace:
      [  358.027956]  [<ffffffff81198860>] ? __slab_alloc+0x400/0x4e0
      [  358.027973]  [<ffffffff813ef84a>] ? sg_kmalloc+0x1a/0x30
      [  358.027985]  [<ffffffff81198f17>] __kmalloc+0x127/0x150
      [  358.027997]  [<ffffffff813ef84a>] ? sg_kmalloc+0x1a/0x30
      [  358.028009]  [<ffffffff813ef84a>] sg_kmalloc+0x1a/0x30
      [  358.028023]  [<ffffffff813eff84>] __sg_alloc_table+0x74/0x180
      [  358.028035]  [<ffffffff813ef830>] ? sg_kfree+0x20/0x20
      [  358.028048]  [<ffffffff813f00af>] sg_alloc_table+0x1f/0x60
      [  358.028061]  [<ffffffff813f0174>] sg_alloc_table_from_pages+0x84/0x1f0
      [  358.028077]  [<ffffffffa007c3f9>] vb2_dma_sg_alloc+0x159/0x230 [videobuf2_dma_sg]
      [  358.028095]  [<ffffffffa003d55a>] __vb2_queue_alloc+0x10a/0x680 [videobuf2_core]
      [  358.028113]  [<ffffffffa003e110>] __reqbufs.isra.14+0x220/0x3e0 [videobuf2_core]
      [  358.028130]  [<ffffffffa003e79d>] __vb2_init_fileio+0xbd/0x380 [videobuf2_core]
      [  358.028147]  [<ffffffffa003f563>] __vb2_perform_fileio+0x5b3/0x6e0 [videobuf2_core]
      [  358.028164]  [<ffffffffa003f871>] vb2_fop_read+0xb1/0x100 [videobuf2_core]
      [  358.028184]  [<ffffffffa06dd2e5>] v4l2_read+0x65/0xb0 [videodev]
      [  358.028198]  [<ffffffff811a243f>] vfs_read+0x8f/0x170
      [  358.028210]  [<ffffffff811a30a1>] SyS_read+0x41/0xb0
      [  358.028224]  [<ffffffff818f02e9>] system_call_fastpath+0x16/0x1b
      [  358.028234] Code: 66 90 e9 dc fd ff ff 0f 1f 40 00 41 8b 4d 68 e9 d5 fe ff ff 0f 1f 80 00 00 00 00 f0 41 80 4d 00 40 e9 03 ff ff ff 0f 1f 44 00 00 <0f> 0b 66 0f 1f 44 00 00 44 89 c6 4c 89 45 d0 e8 0c 82 ff ff 48
      [  358.028415] RIP  [<ffffffff81196040>] new_slab+0x280/0x320
      [  358.028432]  RSP <ffff88089b4d7ae8>
      [  358.032208] ---[ end trace 6443240199c706e4 ]---
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Cc: stable@vger.kernel.org      # for v3.13 and up
      Acked-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      47bc59c5
  2. 04 Sep, 2014 5 commits
  3. 03 Sep, 2014 3 commits
  4. 16 Aug, 2014 21 commits