1. 25 Jan, 2016 2 commits
    • Wolfram Sang's avatar
      [media] soc_camera: cleanup control device on async_unbind · e920ebc2
      Wolfram Sang authored
      I got the following WARN on a simple unbind/bind cycle:
      
      root@Lager:/sys/bus/i2c/drivers/adv7180# echo 6-0020 > unbind
      root@Lager:/sys/bus/i2c/drivers/adv7180# echo 6-0020 > bind
      [   31.097652] adv7180 6-0020: chip found @ 0x20 (e6520000.i2c)
      [   31.123744] ------------[ cut here ]------------
      [   31.128413] WARNING: CPU: 3 PID: 873 at drivers/media/platform/soc_camera/soc_camera.c:1463 soc_camera_async_bound+0x40/0xa0()
      [   31.139896] CPU: 3 PID: 873 Comm: sh Not tainted 4.4.0-rc3-00062-ge8ae2c0b6bca2a #172
      [   31.147815] Hardware name: Generic R8A7790 (Flattened Device Tree)
      [   31.154056] Backtrace:
      [   31.156575] [<c0014bc0>] (dump_backtrace) from [<c0014d80>] (show_stack+0x20/0x24)
      [   31.164233]  r6:c05c5b33 r5:00000009 r4:00000000 r3:00404100
      [   31.170017] [<c0014d60>] (show_stack) from [<c01e2344>] (dump_stack+0x78/0x94)
      [   31.177344] [<c01e22cc>] (dump_stack) from [<c0029e7c>] (warn_slowpath_common+0x98/0xc4)
      [   31.185518]  r4:00000000 r3:00000000
      [   31.189172] [<c0029de4>] (warn_slowpath_common) from [<c0029fa0>] (warn_slowpath_null+0x2c/0x34)
      [   31.198043]  r8:eb38df28 r7:eb38c5d0 r6:eb38de80 r5:e6962810 r4:eb38de80
      [   31.204898] [<c0029f74>] (warn_slowpath_null) from [<c0356348>] (soc_camera_async_bound+0x40/0xa0)
      [   31.213955] [<c0356308>] (soc_camera_async_bound) from [<c03499a0>] (v4l2_async_test_notify+0x9c/0x108)
      [   31.223430]  r5:eb38c5ec r4:eb38de80
      [   31.227084] [<c0349904>] (v4l2_async_test_notify) from [<c0349dd8>] (v4l2_async_register_subdev+0x88/0xd0)
      [   31.236822]  r7:c07115c8 r6:c071160c r5:eb38c5ec r4:eb38de80
      [   31.242622] [<c0349d50>] (v4l2_async_register_subdev) from [<c0337040>] (adv7180_probe+0x2c8/0x3a4)
      [   31.251753]  r8:00000000 r7:00000001 r6:eb38de80 r5:ea973400 r4:eb38de10 r3:00000000
      [   31.259660] [<c0336d78>] (adv7180_probe) from [<c032dd80>] (i2c_device_probe+0x1a0/0x1e4)
      
      This gets fixed by clearing the control device pointer on async_unbind.
      Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      e920ebc2
    • Javier Martinez Canillas's avatar
      [media] v4l: vsp1: Fix wrong entities links creation · 5017e1b1
      Javier Martinez Canillas authored
      The Media Control framework now requires entities to be registered with
      the media device before creating links so commit c7621b30 ("[media]
      v4l: vsp1: separate links creation from entities init") separated link
      creation from entities init.
      
      But unfortunately that patch introduced a regression since wrong links
      were created causing a boot failure on Renesas boards.
      
      This patch fixes the boot issue and also the media graph was compared
      by Geert Uytterhoeven to make sure that the driver changes required by
      the Media Control framework next generation did not affect the graph.
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
      Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      5017e1b1
  2. 24 Jan, 2016 38 commits