1. 12 Dec, 2017 9 commits
  2. 11 Dec, 2017 31 commits
    • Andrey Konovalov's avatar
      media: pvrusb2: properly check endpoint types · 72c27a68
      Andrey Konovalov authored
      As syzkaller detected, pvrusb2 driver submits bulk urb withount checking
      the the endpoint type is actually blunk. Add a check.
      
      usb 1-1: BOGUS urb xfer, pipe 3 != type 1
      ------------[ cut here ]------------
      WARNING: CPU: 1 PID: 2713 at drivers/usb/core/urb.c:449 usb_submit_urb+0xf8a/0x11d0
      Modules linked in:
      CPU: 1 PID: 2713 Comm: pvrusb2-context Not tainted
      4.14.0-rc1-42251-gebb2c243 #210
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
      task: ffff88006b7a18c0 task.stack: ffff880069978000
      RIP: 0010:usb_submit_urb+0xf8a/0x11d0 drivers/usb/core/urb.c:448
      RSP: 0018:ffff88006997f990 EFLAGS: 00010286
      RAX: 0000000000000029 RBX: ffff880063661900 RCX: 0000000000000000
      RDX: 0000000000000029 RSI: ffffffff86876d60 RDI: ffffed000d32ff24
      RBP: ffff88006997fa90 R08: 1ffff1000d32fdca R09: 0000000000000000
      R10: 0000000000000000 R11: 0000000000000000 R12: 1ffff1000d32ff39
      R13: 0000000000000001 R14: 0000000000000003 R15: ffff880068bbed68
      FS:  0000000000000000(0000) GS:ffff88006c600000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000001032000 CR3: 000000006a0ff000 CR4: 00000000000006f0
      Call Trace:
       pvr2_send_request_ex+0xa57/0x1d80 drivers/media/usb/pvrusb2/pvrusb2-hdw.c:3645
       pvr2_hdw_check_firmware drivers/media/usb/pvrusb2/pvrusb2-hdw.c:1812
       pvr2_hdw_setup_low drivers/media/usb/pvrusb2/pvrusb2-hdw.c:2107
       pvr2_hdw_setup drivers/media/usb/pvrusb2/pvrusb2-hdw.c:2250
       pvr2_hdw_initialize+0x548/0x3c10 drivers/media/usb/pvrusb2/pvrusb2-hdw.c:2327
       pvr2_context_check drivers/media/usb/pvrusb2/pvrusb2-context.c:118
       pvr2_context_thread_func+0x361/0x8c0 drivers/media/usb/pvrusb2/pvrusb2-context.c:167
       kthread+0x3a1/0x470 kernel/kthread.c:231
       ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:431
      Code: 48 8b 85 30 ff ff ff 48 8d b8 98 00 00 00 e8 ee 82 89 fe 45 89
      e8 44 89 f1 4c 89 fa 48 89 c6 48 c7 c7 40 c0 ea 86 e8 30 1b dc fc <0f>
      ff e9 9b f7 ff ff e8 aa 95 25 fd e9 80 f7 ff ff e8 50 74 f3
      ---[ end trace 6919030503719da6 ]---
      Signed-off-by: default avatarAndrey Konovalov <andreyknvl@google.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      72c27a68
    • Mauro Carvalho Chehab's avatar
      media: led-class-flash: better handle NULL flash struct · 09db1a46
      Mauro Carvalho Chehab authored
      The logic at V4L2 led core assumes that the flash struct
      can be null. However, it doesn't check for null while
      trying to set, causing some smatch  to warn:
      
      	drivers/media/v4l2-core/v4l2-flash-led-class.c:210 v4l2_flash_s_ctrl() error: we previously assumed 'fled_cdev' could be null (see line 200)
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      Acked-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      09db1a46
    • Mauro Carvalho Chehab's avatar
      media: dvb_frontend: be sure to init dvb_frontend_handle_ioctl() return code · a9cb97c3
      Mauro Carvalho Chehab authored
      As smatch warned:
      	drivers/media/dvb-core/dvb_frontend.c:2468 dvb_frontend_handle_ioctl() error: uninitialized symbol 'err'.
      
      The ioctl handler actually got a regression here: before changeset
      d73dcf0c ("media: dvb_frontend: cleanup ioctl handling logic"),
      the code used to return -EOPNOTSUPP if an ioctl handler was not
      implemented on a driver. After the change, it may return a random
      value.
      
      Fixes: d73dcf0c ("media: dvb_frontend: cleanup ioctl handling logic")
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      Tested-by: default avatarDaniel Scheller <d.scheller@gmx.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      a9cb97c3
    • Mauro Carvalho Chehab's avatar
      media: xc5000: better handle I2C error messages · 7621b8c4
      Mauro Carvalho Chehab authored
      As warned by smatch, there are several places where the I2C
      transfer may fail, leading into inconsistent behavior:
      
      	drivers/media/tuners/xc5000.c:689 xc_debug_dump() error: uninitialized symbol 'regval'.
      	drivers/media/tuners/xc5000.c:841 xc5000_is_firmware_loaded() error: uninitialized symbol 'id'.
      	drivers/media/tuners/xc5000.c:939 xc5000_set_tv_freq() error: uninitialized symbol 'pll_lock_status'.
      	drivers/media/tuners/xc5000.c:1195 xc_load_fw_and_init_tuner() error: uninitialized symbol 'pll_lock_status'.
      
      Handle the return codes from the I2C transfer, in order to
      address those issues.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      7621b8c4
    • Mauro Carvalho Chehab's avatar
      media: mxl111sf: improve error handling logic · ad7b57d5
      Mauro Carvalho Chehab authored
      As reported by smatch:
      	drivers/media/usb/dvb-usb-v2/mxl111sf-demod.c:485 mxl111sf_demod_read_signal_strength() error: uninitialized symbol 'modulation'.
      
      The mxl111sf_demod_read_signal_strength() just ignores if something
      gets wrong while reading snr or modulation.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      ad7b57d5
    • Mauro Carvalho Chehab's avatar
      media: drxd_hard: better handle I2C errors · f161544d
      Mauro Carvalho Chehab authored
      As warned by smatch:
      	drivers/media/dvb-frontends/drxd_hard.c:989 HI_Command() error: uninitialized symbol 'waitCmd'.
      	drivers/media/dvb-frontends/drxd_hard.c:1306 SC_WaitForReady() error: uninitialized symbol 'curCmd'.
      	drivers/media/dvb-frontends/drxd_hard.c:1322 SC_SendCommand() error: uninitialized symbol 'errCode'.
      	drivers/media/dvb-frontends/drxd_hard.c:1339 SC_ProcStartCommand() error: uninitialized symbol 'scExec'.
      
      The error handling on several places are somewhat flawed, as
      they don't check if Read16() returns an error.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      f161544d
    • Mauro Carvalho Chehab's avatar
      media: cxd2841er: ensure that status will always be available · 07ade2d0
      Mauro Carvalho Chehab authored
      The loop with read status use a dynamic timeout value, calculated
      from symbol rate. It should run the loop at least one time for
      the status to be handled after the loop.
      
      While this should, in practice, happen every time, it doesn't
      hurt to change the logic to make it explicit.
      
      This solves a smatch warning:
      	drivers/media/dvb-frontends/cxd2841er.c:3350 cxd2841er_set_frontend_s() error: uninitialized symbol 'status'.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      07ade2d0
    • Mauro Carvalho Chehab's avatar
      media: cx25821-alsa: fix usage of a pointer printk · 04f849c0
      Mauro Carvalho Chehab authored
      As warned by smatch:
      	drivers/media/pci/cx25821/cx25821-alsa.c:155 cx25821_alsa_dma_init() warn: argument 3 to %08lx specifier is cast from pointer
      
      Use the standard %p to print a pointer.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      04f849c0
    • Mauro Carvalho Chehab's avatar
      media: dvbsky: shut up a bogus warning · 021c01d3
      Mauro Carvalho Chehab authored
      Smatch gives two bogus warnings on this driver:
      	drivers/media/usb/dvb-usb-v2/dvbsky.c:336 dvbsky_s960_attach() error: uninitialized symbol 'i2c_adapter'.
      	drivers/media/usb/dvb-usb-v2/dvbsky.c:459 dvbsky_s960c_attach() error: uninitialized symbol 'i2c_adapter'.
      
      Shut them up.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      021c01d3
    • Mauro Carvalho Chehab's avatar
      media: m88rs2000: handle the case where tuner doesn't have get_frequency · 74a6799c
      Mauro Carvalho Chehab authored
      If the tuner doesn't have get_frequency() callback, the current
      code will place a random value as the frequency offset. That
      doesn't seem right! The better is to just assume that, on such
      case, the tuner was able to set the exact frequency that was
      requested.
      
      Fixes a smatch warning:
      	drivers/media/dvb-frontends/m88rs2000.c:639 m88rs2000_set_frontend() error: uninitialized symbol 'tuner_freq'.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      74a6799c
    • Mauro Carvalho Chehab's avatar
      media: pt1: fix logic when pt1_nr_tables is zero or negative · e639c869
      Mauro Carvalho Chehab authored
      pt1_nr_tables is a modprobe parameter. The way the logic
      handles it, it can't be negative. However, user can
      set it to zero.
      
      If set to zero, however, it will cause troubles at
      pt1_init_tables(), as reported by smatch:
      	drivers/media/pci/pt1/pt1.c:468 pt1_init_tables() error: uninitialized symbol 'first_pfn'.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      e639c869
    • Mauro Carvalho Chehab's avatar
      media: ov9650: fix bogus warnings · 29236349
      Mauro Carvalho Chehab authored
      The smatch logic gets confused with the syntax used to check if the
      ov9650x_read() reads succedded:
      	drivers/media/i2c/ov9650.c:895 __g_volatile_ctrl() error: uninitialized symbol 'reg2'.
      	drivers/media/i2c/ov9650.c:895 __g_volatile_ctrl() error: uninitialized symbol 'reg1'.
      
      There's nothing wrong with the original logic, except that
      it is a little more harder to review.
      
      So, let's stick with the syntax that won't cause read
      issues.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      Reviewed-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      29236349
    • Mauro Carvalho Chehab's avatar
      media: mb86a16: avoid division by zero · f303810c
      Mauro Carvalho Chehab authored
      As warned by smatch:
      	drivers/media/dvb-frontends/mb86a16.c:1690 mb86a16_read_ber() error: uninitialized symbol 'timer'.
      	drivers/media/dvb-frontends/mb86a16.c:1706 mb86a16_read_ber() error: uninitialized symbol 'timer'.
      
      There is a potential risk of doing a division by zero if
      timer is not handled well. Enforce it by setting a bit mask
      for the values used to select the timer.
      
      It should be noticed that I don't have mb86a16 datasheet. So,
      the bitmask was guessed based on the existing checks for
      the field. At worse case scenario, it will just show a
      badly calculated bit error rate, but it won't crash.
      
      While here, optimize the logic to prevent uneeded tests.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      f303810c
    • Mauro Carvalho Chehab's avatar
      media: mb86a16: be more resilient if I2C fails on sync · 15e3145a
      Mauro Carvalho Chehab authored
      If the I2C read fails while check for sync, there's no point
      on doing adjusting the tuner due to a random value that might
      be at VIRM var. So, set VIRM to zero, as that makes the caller
      for check_sync() to return an error.
      
      Fix those smatch warnings:
      	drivers/media/dvb-frontends/mb86a16.c:1460 mb86a16_set_fe() error: uninitialized symbol 'VIRM'.
      	drivers/media/dvb-frontends/mb86a16.c:1461 mb86a16_set_fe() error: uninitialized symbol 'VIRM'.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      15e3145a
    • Mauro Carvalho Chehab's avatar
      media: drxj: better handle errors · 452c6446
      Mauro Carvalho Chehab authored
      as reported by smatch:
      	drivers/media/dvb-frontends/drx39xyj/drxj.c:2157 drxj_dap_atomic_read_write_block() error: uninitialized symbol 'word'.
      
      The driver doesn't check if a read error occurred. Add such
      check.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      452c6446
    • Mauro Carvalho Chehab's avatar
      media: imx274: don't randomly return if range_count is zero · 00b4bac7
      Mauro Carvalho Chehab authored
      As smatch reported:
      	drivers/media/i2c/imx274.c:659 imx274_regmap_util_write_table_8() error: uninitialized symbol 'err'.
      
      There is a bug at imx274_regmap_util_write_table_8() with causes
      it to randomly return a random error if range_count is zero.
      
      Worse than that, the logic there starts with range_count
      equal to zero, and periodically resets it to zero again.
      
      As it is a way more likely that err assumes a non-zero value,
      I suspect that the chance of this code to run is very small,
      so, it would be worth to review the entire function.
      
      Anyway, clearly it shouldn't be returning error if range_count
      is zero. So, let's fix it.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      00b4bac7
    • Mauro Carvalho Chehab's avatar
      media: stv090x: Only print tuner lock if get_status is available · ab0625f0
      Mauro Carvalho Chehab authored
      The current code doesn't report tuner lock properly if the
      tuner get_status callback is not available, as reported by
      smatch:
      	drivers/media/dvb-frontends/stv090x.c:2220 stv090x_get_coldlock() error: uninitialized symbol 'reg'.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      ab0625f0
    • Mauro Carvalho Chehab's avatar
      media: xc4000: don't ignore error if hwmodel fails · 8a08ef08
      Mauro Carvalho Chehab authored
      If, for some reason, reading the hwmodel register on
      xc4000 fails, it will cause the following logig to
      use a random value, as reported by smatch:
      
      	drivers/media/tuners/xc4000.c:1047 check_firmware() error: uninitialized symbol 'hwmodel'.
      	drivers/media/tuners/xc4000.c:1060 check_firmware() error: uninitialized symbol 'hwmodel'.
      	drivers/media/tuners/xc4000.c:1064 check_firmware() error: uninitialized symbol 'hwmodel'.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      8a08ef08
    • Mauro Carvalho Chehab's avatar
      media: radio-si476x: fix behavior when seek->range* are defined · 02d73243
      Mauro Carvalho Chehab authored
      The logic at si476x_radio_s_hw_freq_seek() checks if the
      frequency range that will be used to handle hardware seek
      has the minimal frequency under rangelow. That works fine
      if userspace zeros both fields. However, if userspace
      fills either seek->rangelow or seek-rangehigh, it won't
      read the corresponding range from the device, causing the
      values to be unitialized, as warned by smatch:
      
      	drivers/media/radio/radio-si476x.c:789 si476x_radio_s_hw_freq_seek() error: uninitialized symbol 'rangelow'.
      	drivers/media/radio/radio-si476x.c:789 si476x_radio_s_hw_freq_seek() error: uninitialized symbol 'rangehigh'.
      
      Fix it by initializing those vars from the values present at
      the struct v4l2_hw_freq_seek.
      
      While here, simplify the logic which reads such values from
      the hardware limits.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      02d73243
    • Mauro Carvalho Chehab's avatar
      media: qt1010: fix bogus warnings · bc3cad2b
      Mauro Carvalho Chehab authored
      The logic at qt1010_init_meas1() and qt1010_init_meas2()
      are too complex for static analizers to identify that
      some vars are always be initialized.
      
      That causes smatch to produce the following warnings:
      	drivers/media/tuners/qt1010.c:248 qt1010_init_meas1() error: uninitialized symbol 'val2'.
      	drivers/media/tuners/qt1010.c:282 qt1010_init_meas2() error: uninitialized symbol 'val'.
      
      So, add annotations to prevent those bogus warnings.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      bc3cad2b
    • Mauro Carvalho Chehab's avatar
      media: tda8290: initialize agc gain · 01a26ff9
      Mauro Carvalho Chehab authored
      The tuning logic at tda8290 relies on agc_stat and
      adc_sat to be initialized. However, as warned by smatch:
      
      	drivers/media/tuners/tda8290.c:261 tda8290_set_params() error: uninitialized symbol 'agc_stat'.
      	drivers/media/tuners/tda8290.c:261 tda8290_set_params() error: uninitialized symbol 'adc_sat'.
      	drivers/media/tuners/tda8290.c:262 tda8290_set_params() error: uninitialized symbol 'adc_sat'.
      
      That could cause an erratic behavior if PLL is not locked,
      as the code will only work if
      	!(pll_stat & 0x80) && (adc_sat < 20)
      
      So, initialize it to zero, in order to let the code below
      to be called, with should give more chances to adjust the
      tuner gain, in order to get a PLL lock.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      01a26ff9
    • Mauro Carvalho Chehab's avatar
      media: atmel-isc: avoid returning a random value at isc_parse_dt() · 79c5453d
      Mauro Carvalho Chehab authored
      As warned by smatch:
      drivers/media/platform/atmel/atmel-isc.c:2097 isc_parse_dt() error: uninitialized symbol 'ret'.
      
      The problem here is that of_graph_get_next_endpoint() can
      potentially return NULL on its first pass, with would make
      it return a random value, as ret is not initialized.
      
      While here, use while(1) instead of for(; ;), as while is
      the preferred syntax for such kind of loops.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      79c5453d
    • Matthias Schwarzott's avatar
      media: em28xx: Fix use-after-free when disconnecting · 910b0797
      Matthias Schwarzott authored
      Fix bug by moving the i2c_unregister_device calls after deregistration
      of dvb frontend.
      
      The new style i2c drivers already destroys the frontend object at
      i2c_unregister_device time.
      When the dvb frontend is unregistered afterwards it leads to this oops:
      
        [ 6058.866459] BUG: unable to handle kernel NULL pointer dereference at 00000000000001f8
        [ 6058.866578] IP: dvb_frontend_stop+0x30/0xd0 [dvb_core]
        [ 6058.866644] PGD 0
        [ 6058.866646] P4D 0
      
        [ 6058.866726] Oops: 0000 [#1] SMP
        [ 6058.866768] Modules linked in: rc_pinnacle_pctv_hd(O) em28xx_rc(O) si2157(O) si2168(O) em28xx_dvb(O) em28xx(O) si2165(O) a8293(O) tda10071(O) tea5767(O) tuner(O) cx23885(O) tda18271(O) videobuf2_dvb(O) videobuf2_dma_sg(O) m88ds3103(O) tveeprom(O) cx2341x(O) v4l2_common(O) dvb_core(O) rc_core(O) videobuf2_memops(O) videobuf2_v4l2(O) videobuf2_core(O) videodev(O) media(O) bluetooth ecdh_generic ums_realtek uas rtl8192cu rtl_usb rtl8192c_common rtlwifi usb_storage snd_hda_codec_realtek snd_hda_codec_hdmi snd_hda_codec_generic i2c_mux snd_hda_intel snd_hda_codec snd_hwdep x86_pkg_temp_thermal snd_hda_core kvm_intel kvm irqbypass [last unloaded: videobuf2_memops]
        [ 6058.867497] CPU: 2 PID: 7349 Comm: kworker/2:0 Tainted: G        W  O    4.13.9-gentoo #1
        [ 6058.867595] Hardware name: MEDION E2050 2391/H81H3-EM2, BIOS H81EM2W08.308 08/25/2014
        [ 6058.867692] Workqueue: usb_hub_wq hub_event
        [ 6058.867746] task: ffff88011a15e040 task.stack: ffffc90003074000
        [ 6058.867825] RIP: 0010:dvb_frontend_stop+0x30/0xd0 [dvb_core]
        [ 6058.867896] RSP: 0018:ffffc90003077b58 EFLAGS: 00010293
        [ 6058.867964] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 000000010040001f
        [ 6058.868056] RDX: ffff88011a15e040 RSI: ffffea000464e400 RDI: ffff88001cbe3028
        [ 6058.868150] RBP: ffffc90003077b68 R08: ffff880119390380 R09: 000000010040001f
        [ 6058.868241] R10: ffffc90003077b18 R11: 000000000001e200 R12: ffff88001cbe3028
        [ 6058.868330] R13: ffff88001cbe68d0 R14: ffff8800cf734000 R15: ffff8800cf734098
        [ 6058.868419] FS:  0000000000000000(0000) GS:ffff88011fb00000(0000) knlGS:0000000000000000
        [ 6058.868511] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        [ 6058.868578] CR2: 00000000000001f8 CR3: 00000001113c5000 CR4: 00000000001406e0
        [ 6058.868662] Call Trace:
        [ 6058.868705]  dvb_unregister_frontend+0x2a/0x80 [dvb_core]
        [ 6058.868774]  em28xx_dvb_fini+0x132/0x220 [em28xx_dvb]
        [ 6058.868840]  em28xx_close_extension+0x34/0x90 [em28xx]
        [ 6058.868902]  em28xx_usb_disconnect+0x4e/0x70 [em28xx]
        [ 6058.868968]  usb_unbind_interface+0x6d/0x260
        [ 6058.869025]  device_release_driver_internal+0x150/0x210
        [ 6058.869094]  device_release_driver+0xd/0x10
        [ 6058.869150]  bus_remove_device+0xe4/0x160
        [ 6058.869204]  device_del+0x1ce/0x2f0
        [ 6058.869253]  usb_disable_device+0x99/0x270
        [ 6058.869306]  usb_disconnect+0x8d/0x260
        [ 6058.869359]  hub_event+0x93d/0x1520
        [ 6058.869408]  ? dequeue_task_fair+0xae5/0xd20
        [ 6058.869467]  process_one_work+0x1d9/0x3e0
        [ 6058.869522]  worker_thread+0x43/0x3e0
        [ 6058.869576]  kthread+0x104/0x140
        [ 6058.869602]  ? trace_event_raw_event_workqueue_work+0x80/0x80
        [ 6058.869640]  ? kthread_create_on_node+0x40/0x40
        [ 6058.869673]  ret_from_fork+0x22/0x30
        [ 6058.869698] Code: 54 49 89 fc 53 48 8b 9f 18 03 00 00 0f 1f 44 00 00 41 83 bc 24 04 05 00 00 02 74 0c 41 c7 84 24 04 05 00 00 01 00 00 00 0f ae f0 <48> 8b bb f8 01 00 00 48 85 ff 74 5c e8 df 40 f0 e0 48 8b 93 f8
        [ 6058.869850] RIP: dvb_frontend_stop+0x30/0xd0 [dvb_core] RSP: ffffc90003077b58
        [ 6058.869894] CR2: 00000000000001f8
        [ 6058.875880] ---[ end trace 717eecf7193b3fc6 ]---
      Signed-off-by: default avatarMatthias Schwarzott <zzam@gentoo.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      910b0797
    • Krzysztof Hałasa's avatar
      media: i.MX6: Fix MIPI CSI-2 LP-11 check · 9ea57316
      Krzysztof Hałasa authored
      Bitmask for the MIPI CSI-2 data PHY status doesn't seem to be correct.
      Fix it.
      Signed-off-by: default avatarKrzysztof Ha?asa <khalasa@piap.pl>
      Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Reviewed-by: default avatarSteve Longerbeam <steve_longerbeam@mentor.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      9ea57316
    • Mauro Carvalho Chehab's avatar
      media: ddbridge: shut up a new warning · 7b303d2c
      Mauro Carvalho Chehab authored
      drivers/media/pci/ddbridge/ddbridge-ci.c:321:5: warning: no previous prototype for 'ddb_ci_attach' [-Wmissing-prototypes]
       int ddb_ci_attach(struct ddb_port *port, u32 bitrate)
           ^~~~~~~~~~~~~
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      7b303d2c
    • Daniel Scheller's avatar
      media: ddbridge: update driver version number · 40f80610
      Daniel Scheller authored
      Update the driver version number/string to 0.9.32-integrated.
      Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      40f80610
    • Daniel Scheller's avatar
      media: stv0910: read and update mod_cod in read_status() · 9cc65447
      Daniel Scheller authored
      Add missing state->modcod update from upstream driver which needs to be
      done when manage_matype_info() sets is_vcm on certain S2 transponders.
      Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      9cc65447
    • Daniel Scheller's avatar
      media: ddbridge/max: prefix lnb_init_fmode() and fe_attach_mxl5xx() · 1c714501
      Daniel Scheller authored
      Add a ddb_ prefix to the two functions to better avoid conflicts in the
      global namespace, ie. when building everything into the kernel image.
      Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      1c714501
    • Daniel Scheller's avatar
      media: ddbridge/max: rename ddbridge-maxs8.[c|h] to ddbridge-max.[c|h] · 2d8c98b8
      Daniel Scheller authored
      Rename the MaxS4/8 support files following upstream. References to these
      files and descriptions have been updated aswell.
      Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      2d8c98b8
    • Daniel Scheller's avatar
      media: ddbridge/ci: change debug printing to debug severity · 04bdf863
      Daniel Scheller authored
      slot_ts_enable_xo2() logged debug output to info instead of debug, so
      fix this up.
      Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      04bdf863
    • Daniel Scheller's avatar
      media: ddbridge: split off CI (common interface) from ddbridge-core · 70d3ae1b
      Daniel Scheller authored
      Move all CI device support related code from ddbridge-core to ddbridge-ci,
      following the previously split off MaxS4/8 support.
      Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      70d3ae1b