diff options
author | root <root@rshg054.dnsready.net> | 2012-12-21 02:59:15 -0800 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-12-21 02:59:15 -0800 |
commit | ebf350f32a8352abbd1bb4a8a49ed750bb23f285 (patch) | |
tree | 1ebf65f72d0e3bd77cae555c194a3e64ecfa3dd7 /libre/linux-libre/fix-watchdog-3.7.patch | |
parent | fecd6286e00e6e25458a7d1b8b80f6fdb236a7a2 (diff) |
Fri Dec 21 02:53:46 PST 2012
Diffstat (limited to 'libre/linux-libre/fix-watchdog-3.7.patch')
-rw-r--r-- | libre/linux-libre/fix-watchdog-3.7.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libre/linux-libre/fix-watchdog-3.7.patch b/libre/linux-libre/fix-watchdog-3.7.patch new file mode 100644 index 000000000..fe4431604 --- /dev/null +++ b/libre/linux-libre/fix-watchdog-3.7.patch @@ -0,0 +1,38 @@ +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=blobdiff_plain;f=kernel%2Fwatchdog.c;h=75a2ab3d0b0208dfa51e40339ffd00206622732e;hp=997c6a16ec2278969a10f251f63f237e7559d42e;hb=3935e89505a1c3ab3f3b0c7ef0eae54124f48905;hpb=74779e22261172ea728b989310f6ecc991b57d62 + +diff --git a/kernel/watchdog.c b/kernel/watchdog.c +index 997c6a1..75a2ab3 100644 +--- a/kernel/watchdog.c ++++ b/kernel/watchdog.c +@@ -344,6 +344,10 @@ static void watchdog_enable(unsigned int cpu) + { + struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer); + ++ /* kick off the timer for the hardlockup detector */ ++ hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); ++ hrtimer->function = watchdog_timer_fn; ++ + if (!watchdog_enabled) { + kthread_park(current); + return; +@@ -352,10 +356,6 @@ static void watchdog_enable(unsigned int cpu) + /* Enable the perf event */ + watchdog_nmi_enable(cpu); + +- /* kick off the timer for the hardlockup detector */ +- hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); +- hrtimer->function = watchdog_timer_fn; +- + /* done here because hrtimer_start can only pin to smp_processor_id() */ + hrtimer_start(hrtimer, ns_to_ktime(sample_period), + HRTIMER_MODE_REL_PINNED); +@@ -369,9 +369,6 @@ static void watchdog_disable(unsigned int cpu) + { + struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer); + +- if (!watchdog_enabled) +- return; +- + watchdog_set_prio(SCHED_NORMAL, 0); + hrtimer_cancel(hrtimer); + /* disable the perf event */ |