summaryrefslogtreecommitdiffstats
path: root/drivers/hid/i2c-hid
diff options
context:
space:
mode:
authorLi RongQing <roy.qing.li@gmail.com>2015-12-17 21:30:02 +0800
committerWim Van Sebroeck <wim@iguana.be>2015-12-27 21:02:21 +0100
commit5889f06bd31d542766046faa6b17d957c08e1484 (patch)
tree37e0bec23c48aa457d3ea7d23dceb0effb626c13 /drivers/hid/i2c-hid
parent8d2fa17151ea33a98b5f70839fd2ffa3bce51de5 (diff)
downloadlinux-stable-5889f06bd31d542766046faa6b17d957c08e1484.tar.gz
linux-stable-5889f06bd31d542766046faa6b17d957c08e1484.tar.bz2
linux-stable-5889f06bd31d542766046faa6b17d957c08e1484.zip
watchdog: refuse to unload softdog module when its timer is running
the softdog has static variables which are accessed if its timer is still running after the driver is unloaded. and lead to crash: $modprobe softdog $echo 1 >/dev/watchdog $modprobe -r softdog CPU 20 Unable to handle kernel paging request at virtual address Oops[#1]: CPU: 20 PID: 0 Comm: swapper/20 Not tainted 4.1.13-WR8.0.0.0_standard ... Modules linked in: [last unloaded: softdog] .... Call Trace: [<ffffffff801e142c>] cascade+0x34/0xb0 [<ffffffff801e1964>] run_timer_softirq+0x30c/0x368 [<ffffffff80181044>] __do_softirq+0x1ec/0x418 [<ffffffff801815d0>] irq_exit+0x90/0x98 [<ffffffff8010749c>] plat_irq_dispatch+0xa4/0x140 [<ffffffff80152740>] ret_from_irq+0x0/0x4 [<ffffffff801529e0>] __r4k_wait+0x20/0x40 [<ffffffff801c2278>] cpu_startup_entry+0x2a0/0x368 [<ffffffff8015fa64>] start_secondary+0x444/0x4d8 add the module ref when timer is running to avoid to unload the softdog module Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/hid/i2c-hid')
0 files changed, 0 insertions, 0 deletions