media: rc: bang in ir_do_keyup
rc_keydown() can be called from interrupt context, by e.g. an rc scancode
driver. Since commit
b2c96ba352b5 ("media: cec: move cec autorepeat
handling to rc-core"), the del_timer_sync() call is not happy about
being called in interrupt connect. del_timer() will suffice.
WARNING: CPU: 0 PID: 0 at kernel/time/timer.c:1285 del_timer_sync+0x1d/0x40
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 4.15.0-rc1+ #1
Hardware name: /DG45ID, BIOS IDG4510H.86A.0135.2011.0225.1100 02/25/2011
task:
ffffffffa3e10480 task.stack:
ffffffffa3e00000
RIP: 0010:del_timer_sync+0x1d/0x40
RSP: 0018:
ffff8b396bc03db0 EFLAGS:
00010046
RAX:
0000000080010000 RBX:
ffff8b394d70e410 RCX:
0000000000000073
RDX:
0000000000000001 RSI:
0000000000000001 RDI:
ffff8b394d70e410
RBP:
0000000000000001 R08:
ffffffffc0616000 R09:
ffff8b396bfa3000
R10:
0000000000000000 R11:
0000000000000390 R12:
ffff8b394f003800
R13:
0000000000000000 R14:
ffff8b3771c19630 R15:
0000000000000000
FS:
0000000000000000(0000) GS:
ffff8b396bc00000(0000) knlGS:
0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
CR2:
00007f1944469000 CR3:
00000001ebe09000 CR4:
00000000000006f0
Call Trace:
<IRQ>
ir_do_keyup.part.5+0x22/0x90 [rc_core]
rc_keyup+0x37/0x50 [rc_core]
usb_rx_callback_intf0+0x79/0x90 [imon]
__usb_hcd_giveback_urb+0x90/0x130
uhci_giveback_urb+0xab/0x250
uhci_scan_schedule.part.34+0x806/0xb00
uhci_irq+0xab/0x150
usb_hcd_irq+0x22/0x30
__handle_irq_event_percpu+0x3a/0x180
handle_irq_event_percpu+0x30/0x70
handle_irq_event+0x27/0x50
handle_fasteoi_irq+0x6b/0x110
handle_irq+0xa5/0x100
do_IRQ+0x41/0xc0
common_interrupt+0x96/0x96
</IRQ>
RIP: 0010:cpuidle_enter_state+0x9a/0x2d0
RSP: 0018:
ffffffffa3e03e88 EFLAGS:
00000246 ORIG_RAX:
ffffffffffffffda
RAX:
ffff8b396bc1a000 RBX:
00000010da7bcd63 RCX:
00000010da7bccf6
RDX:
00000010da7bcd63 RSI:
00000010da7bcd63 RDI:
0000000000000000
RBP:
ffff8b394f587400 R08:
0000000000000000 R09:
0000000000000002
R10:
ffffffffa3e03e48 R11:
0000000000000390 R12:
0000000000000003
R13:
ffffffffa3ebf018 R14:
0000000000000000 R15:
00000010da7ba772
? cpuidle_enter_state+0x8d/0x2d0
do_idle+0x17b/0x1d0
cpu_startup_entry+0x6f/0x80
start_kernel+0x4a7/0x4c7
secondary_startup_64+0xa5/0xb0
Code: e7 5b 5d 41 5c e9 84 88 05 00 0f 1f 40 00 66 66 66 66 90 65 8b 05 e4 6f ef 5c a9 00 00 0f 00 53 48 89 fb 74 16 f6 47 22 20 75 10 <0f> ff 48 89 df e8 89 f1 ff ff 85 c0 79 0e f3 90 48 89 df e8 7b
Fixes: b2c96ba352b5 ("media: cec: move cec autorepeat handling to rc-core")
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>