1. 05 5月, 2018 1 次提交
  2. 04 5月, 2018 2 次提交
  3. 06 3月, 2018 7 次提交
  4. 29 12月, 2017 1 次提交
  5. 12 12月, 2017 1 次提交
    • M
      media: em28xx: Fix use-after-free when disconnecting · 910b0797
      Matthias Schwarzott 提交于
      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: NMatthias Schwarzott <zzam@gentoo.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      910b0797
  6. 07 11月, 2017 1 次提交
  7. 25 6月, 2017 1 次提交
    • M
      media: em28xx: add support for new of Terratec H6 · d6a64327
      Mauro Carvalho Chehab 提交于
      There's a new version of Terratec H6 with uses USB ID
      0ccd:10b2. This version is similar to the old one (with is
      supported via the HTC entry), except that this one has the
      eeprom on the second bus.
      
      On this board, one side of this board is labeled with:
      	dvbc v2.0
      The other side with:
      	94V-0, MO2, RK-4221 with huge digits: 1107
      
      With those patches, the board is properly detected:
      
          em28xx 1-1.5:1.0: New device TERRATEC TERRATCE H5 MKII @ 480 Mbps (0ccd:10b2, interface 0, class 0)
          em28xx 1-1.5:1.0: Audio interface 0 found (Vendor Class)
          em28xx 1-1.5:1.0: Video interface 0 found: isoc
          em28xx 1-1.5:1.0: DVB interface 0 found: isoc
          em28xx 1-1.5:1.0: chip ID is em2884
          em28xx eeprom 00000000: 26 00 00 00 02 0b 0f e5 f5 64 01 60 09 e5 f5 64  &........d.`...d
          em28xx eeprom 00000010: 09 60 03 c2 c6 22 e5 f7 b4 03 13 e5 f6 b4 87 03  .`..."..........
          em28xx eeprom 00000020: 02 0a b9 e5 f6 b4 93 03 02 09 46 c2 c6 22 c2 c6  ..........F.."..
          em28xx eeprom 00000030: 22 00 60 00 ef 70 08 85 3d 82 85 3c 83 93 ff ef  ".`..p..=..<....
          em28xx eeprom 00000040: 60 19 85 3d 82 85 3c 83 e4 93 12 07 a3 12 0a fe  `..=..<.........
          em28xx eeprom 00000050: 05 3d e5 3d 70 02 05 3c 1f 80 e4 22 12 0b 06 02  .=.=p..<..."....
          em28xx eeprom 00000060: 07 e2 01 00 1a eb 67 95 cd 0c b2 10 f0 13 6b 03  ......g.......k.
          em28xx eeprom 00000070: 98 22 6a 1c 86 12 27 57 4e 16 29 00 60 00 00 00  ."j...'WN.).`...
          em28xx eeprom 00000080: 02 00 00 00 5e 00 13 00 f0 10 44 82 82 00 00 00  ....^.....D.....
          em28xx eeprom 00000090: 5b 81 c0 00 00 00 20 40 20 80 02 20 10 01 00 00  [..... @ .. ....
          em28xx eeprom 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
          em28xx eeprom 000000b0: c6 40 00 00 81 00 00 00 00 00 00 00 00 c4 00 00  .@..............
          em28xx eeprom 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1c 03  ................
          em28xx eeprom 000000d0: 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00  1.2.3.4.5.6.7.8.
          em28xx eeprom 000000e0: 39 00 41 00 42 00 43 00 44 00 12 03 54 00 45 00  9.A.B.C.D...T.E.
          em28xx eeprom 000000f0: 52 00 52 00 41 00 54 00 45 00 43 00 22 03 54 00  R.R.A.T.E.C.".T.
          em28xx 1-1.5:1.0: eeprom 000100: ... (skipped)
          em28xx 1-1.5:1.0: EEPROM ID = 26 00 00 00, EEPROM hash = 0xbcd5a8cf
          em28xx 1-1.5:1.0: EEPROM info:
          em28xx 1-1.5:1.0:	microcode start address = 0x0004, boot configuration = 0x00
          em28xx 1-1.5:1.0:	I2S audio, 5 sample rates
          em28xx 1-1.5:1.0:	500mA max power
          em28xx 1-1.5:1.0:	Table at offset 0x27, strings=0x2298, 0x1c6a, 0x1286
          em28xx 1-1.5:1.0: Identified as Terratec Cinergy H6 rev. 2 (card=101)
          em28xx 1-1.5:1.0: Currently, V4L2 is not supported on this model
          em28xx 1-1.5:1.0: dvb set to isoc mode.
          usbcore: registered new interface driver em28xx
          em28xx 1-1.5:1.0: Binding audio extension
          em28xx 1-1.5:1.0: em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
          em28xx 1-1.5:1.0: em28xx-audio.c: Copyright (C) 2007-2016 Mauro Carvalho Chehab
          em28xx 1-1.5:1.0: Endpoint 0x83 high-speed on intf 0 alt 7 interval = 8, size 196
          em28xx 1-1.5:1.0: Number of URBs: 1, with 64 packets and 192 size
          em28xx 1-1.5:1.0: Audio extension successfully initialized
          em28xx: Registered (Em28xx Audio Extension) extension
          em28xx 1-1.5:1.0: Binding DVB extension
          drxk: status = 0x639260d9
          drxk: detected a drx-3926k, spin A3, xtal 20.250 MHz
          drxk: DRXK driver version 0.9.4300
          drxk: frontend initialized.
          tda18271 4-0060: creating new instance
          tda18271: TDA18271HD/C2 detected @ 4-0060
          dvbdev: DVB: registering new adapter (1-1.5:1.0)
          em28xx 1-1.5:1.0: DVB: registering adapter 0 frontend 0 (DRXK DVB-C DVB-T)...
          dvbdev: dvb_create_media_entity: media entity 'DRXK DVB-C DVB-T' registered.
          dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
          em28xx 1-1.5:1.0: DVB extension successfully initialized
          em28xx: Registered (Em28xx dvb Extension) extension
          em28xx 1-1.5:1.0: Registering input extension
          rc rc0: 1-1.5:1.0 IR as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/rc/rc0
          Registered IR keymap rc-nec-terratec-cinergy-xs
          input: 1-1.5:1.0 IR as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/rc/rc0/input0
          em28xx 1-1.5:1.0: Input extension successfully initalized
          em28xx: Registered (Em28xx Input Extension) extension
          tda18271: performing RF tracking filter calibration
          tda18271: RF tracking filter calibration complete
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      d6a64327
  8. 03 2月, 2017 1 次提交
  9. 12 12月, 2016 2 次提交
  10. 18 11月, 2016 1 次提交
  11. 21 10月, 2016 3 次提交
  12. 24 6月, 2016 1 次提交
    • M
      em28xx-dvb: remove some left over · 5776fbec
      Mauro Carvalho Chehab 提交于
      Gcc 6.1 warns about an unused table:
      
      drivers/media/usb/em28xx/em28xx-dvb.c:907:38: warning: 'pctv_461e_m88ds3103_config' defined but not used [-Wunused-const-variable=]
       static const struct m88ds3103_config pctv_461e_m88ds3103_config = {
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
      
      That's a left over of patch 76b91be3 ('em28xx: PCTV 461e use I2C
      client for demod and SEC').
      
      Remove the dead code.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      5776fbec
  13. 10 5月, 2016 1 次提交
  14. 07 5月, 2016 1 次提交
    • S
      [media] em28xx: add support for PLEX PX-BCUD (ISDB-S) · ab4d1452
      Satoshi Nagahama 提交于
      PX-BCUD has the following components:
         USB interface: Empia EM28178
         Demodulator: Toshiba TC90532 (works by code for TC90522)
         Tuner: Next version of Sharp QM1D1C0042
      
      em28xx_dvb_init(): add init code for PLEX PX-BCUD with calling
      px_bcud_init() that does things like pin configuration.
      
      qm1d1c0042_init(): support the next version of QM1D1C0042, change to
      choose an appropriate array of initial registers by reading chip id.
      
      [mchehab@osg.samsung.com: fold a fixup patch and fix checkpatch.pl
       errors/warnings, where applicable]
      Signed-off-by: NSatoshi Nagahama <sattnag@aim.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      ab4d1452
  15. 16 2月, 2016 2 次提交
  16. 01 2月, 2016 1 次提交
  17. 19 11月, 2015 1 次提交
  18. 11 8月, 2015 1 次提交
  19. 10 6月, 2015 1 次提交
  20. 06 6月, 2015 2 次提交
  21. 13 5月, 2015 1 次提交
  22. 03 4月, 2015 1 次提交
  23. 03 3月, 2015 1 次提交
  24. 24 12月, 2014 2 次提交
  25. 05 12月, 2014 1 次提交
  26. 25 11月, 2014 1 次提交
  27. 22 11月, 2014 1 次提交