1. 23 Nov, 2018 34 commits
  2. 22 Nov, 2018 6 commits
    • Sean Young's avatar
      media: rc: ensure close() is called on rc_unregister_device · 8e782fcf
      Sean Young authored
      If userspace has an open file descriptor on the rc input device or lirc
      device when rc_unregister_device() is called, then the rc close() is
      never called.
      
      This ensures that the receiver is turned off on the nuvoton-cir driver
      during shutdown.
      Signed-off-by: default avatarSean Young <sean@mess.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      8e782fcf
    • Mauro Carvalho Chehab's avatar
      media: rc: imon: replace strcpy() by strscpy() · 2396e282
      Mauro Carvalho Chehab authored
      The strcpy() function is being deprecated. Replace it by the
      safer strscpy().
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      Signed-off-by: default avatarSean Young <sean@mess.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      2396e282
    • Sean Young's avatar
      media: rc: cec devices do not have a lirc chardev · e5bb9d3d
      Sean Young authored
      This fixes an oops in ir_lirc_scancode_event().
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000038
      PGD 0 P4D 0
      Oops: 0000 [#1] SMP PTI
      CPU: 9 PID: 27687 Comm: kworker/9:2 Tainted: P           OE 4.18.12-200.fc28.x86_64 #1
      Hardware name: Supermicro C7X99-OCE-F/C7X99-OCE-F, BIOS 2.1a 06/15/2018
      Workqueue: events pulse8_irq_work_handler [pulse8_cec]
      RIP: 0010:ir_lirc_scancode_event+0x3d/0xb0 [rc_core]
      Code: 8d ae b4 07 00 00 49 81 c6 b8 07 00 00 53 e8 4a df c3 d5 48 89 ef 49 89 45 00 e8 4e 84 41 d6 49 8b 1e 49 89 c4 4c 39 f3 74 58 <8b> 43 38 8b 53 40 89 c1 2b 4b 3c 39 ca 72 41 21 d0 49 8b 7d 00 49
      RSP: 0018:ffffaa10e3c07d58 EFLAGS: 00010017
      RAX: 0000000000000002 RBX: 0000000000000000 RCX: 0000000000000018
      RDX: 0000000000000001 RSI: 00316245397fa93c RDI: ffff966d31c8d7b4
      RBP: ffff966d31c8d7b4 R08: 0000000000000000 R09: 0000000000000000
      R10: 0000000000000003 R11: ffffaa10e3c07e28 R12: 0000000000000002
      R13: ffffaa10e3c07d88 R14: ffff966d31c8d7b8 R15: 0000000000000073
      FS:  0000000000000000(0000) GS:ffff966d3f440000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000038 CR3: 00000009d820a003 CR4: 00000000003606e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       ir_do_keydown+0x75/0x260 [rc_core]
       rc_keydown+0x54/0xc0 [rc_core]
       cec_received_msg_ts+0xaa8/0xaf0 [cec]
       process_one_work+0x1a1/0x350
       worker_thread+0x30/0x380
       ? pwq_unbound_release_workfn+0xd0/0xd0
       kthread+0x112/0x130
       ? kthread_create_worker_on_cpu+0x70/0x70
       ret_from_fork+0x35/0x40
      Modules linked in: rc_tt_1500 dvb_usb_dvbsky dvb_usb_v2 uas usb_storage fuse vhost_net vhost tap xt_CHECKSUM iptable_mangle ip6t_REJECT nf_reject_ipv6 tun 8021q garp mrp xt_nat macvlan xfs devlink ebta
       si2157 si2168 cx25840 cx23885 kvm altera_ci tda18271 joydev ir_rc6_decoder rc_rc6_mce crct10dif_pclmul crc32_pclmul ghash_clmulni_intel intel_cstate intel_uncore altera_stapl m88ds3103 tveeprom cx2341
       mxm_wmi igb crc32c_intel megaraid_sas dca i2c_algo_bit wmi vfio_pci irqbypass vfio_virqfd vfio_iommu_type1 vfio i2c_dev
      CR2: 0000000000000038
      
      Cc: <stable@vger.kernel.org> # v4.16+
      Signed-off-by: default avatarSean Young <sean@mess.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      e5bb9d3d
    • Sean Young's avatar
      media: saa7134: hvr1110 can decode rc6 · 0cfd56a8
      Sean Young authored
      The function get_key_hvr1110 can only decode rc5, however this is a
      standard hauppauge z8f0811 which can decode rc6 as well. Use
      get_key_haup_xvr() instead.
      
      Tested on a HVR 1110.
      Signed-off-by: default avatarSean Young <sean@mess.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      0cfd56a8
    • Sean Young's avatar
      media: saa7134: rc device does not need 'saa7134 IR (' prefix · 9916ac07
      Sean Young authored
      Before this patch, the rc name is truncated to:
      
      	saa7134 IR (Hauppauge WinTV-HVR
      
      Now it is:
      
      	Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid
      Signed-off-by: default avatarSean Young <sean@mess.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      9916ac07
    • Sean Young's avatar
      media: rc: imon_raw: use fls rather than loop per bit · 8d023a57
      Sean Young authored
      Previously, the code would loop for each of the 40 bits. Now it will
      branch for each edge in the IR, which will be much less.
      Signed-off-by: default avatarSean Young <sean@mess.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      8d023a57