aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoryardenac2012-12-20 18:55:50 -0800
committeryar2015-07-03 16:58:20 -0700
commit7ed73858fa8f58788e6cea4b6f7df0d7bf737644 (patch)
tree901d6dc082e08be75b2383d3894bc23224a6448f
parentc0dea8056cd7a1836697c4e0f722a6f1b950e04a (diff)
downloadaur-7ed73858fa8f58788e6cea4b6f7df0d7bf737644.tar.gz
fix watchdog bug
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD9
-rw-r--r--config2
-rw-r--r--config.x86_642
-rw-r--r--fix-watchdog-3.7.patch38
-rw-r--r--linux-linode.install2
6 files changed, 52 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b6a84256fa59..681d7bd9d697 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = linux-linode
pkgdesc = Kernel for Arch Linux on Linode
pkgver = 3.7.1
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/yardenac/linux-linode
install = linux-linode.install
arch = i686
@@ -30,13 +30,15 @@ pkgbase = linux-linode
source = config.x86_64
source = menu.lst
source = linux-linode.preset
+ source = fix-watchdog-3.7.patch
source = change-default-console-loglevel.patch
md5sums = 21223369d682bcf44bcdfe1521095983
md5sums = 48f5f530b048e387e978e3e49de7742a
- md5sums = e7cacdfb2aec83541c287ef419a9f43d
- md5sums = 5ab6a4c7b056753c72f312c581d6b275
+ md5sums = decead29c19b529a6776f7774c1bd104
+ md5sums = 49166175551bb52106bff00eb7b6362a
md5sums = d01f2350ec9f92e2eabcde0f11be24f2
md5sums = ee66f3cd0c5bc0ba0f65499784d19f30
+ md5sums = 05825098356199a0d76bd5b337bab2e4
md5sums = 9d3c56a4b999c8bfbd4018089a62f662
pkgname = linux-linode
diff --git a/PKGBUILD b/PKGBUILD
index d4ee0129270e..b40a7e55a4af 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@ _basekernel=3.7
_kernelname=${pkgname#linux}
_srcname=linux-${_basekernel}
pkgver=${_basekernel}.1
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="https://github.com/yardenac/linux-linode"
license=(GPL2)
@@ -15,13 +15,15 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
'config.x86_64'
'menu.lst'
"${pkgname}.preset"
+ 'fix-watchdog-3.7.patch'
'change-default-console-loglevel.patch')
md5sums=('21223369d682bcf44bcdfe1521095983'
'48f5f530b048e387e978e3e49de7742a'
- 'e7cacdfb2aec83541c287ef419a9f43d'
- '5ab6a4c7b056753c72f312c581d6b275'
+ 'decead29c19b529a6776f7774c1bd104'
+ '49166175551bb52106bff00eb7b6362a'
'd01f2350ec9f92e2eabcde0f11be24f2'
'ee66f3cd0c5bc0ba0f65499784d19f30'
+ '05825098356199a0d76bd5b337bab2e4'
'9d3c56a4b999c8bfbd4018089a62f662')
pkgdesc="Kernel for Arch Linux on Linode"
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
@@ -34,6 +36,7 @@ install=${pkgname}.install
build() {
cd "${srcdir}/${_srcname}"
patch -p1 -i "${srcdir}/patch-${pkgver}"
+ patch -Np1 -i "${srcdir}/fix-watchdog-3.7.patch"
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
if [ "${CARCH}" = "x86_64" ]; then
cat "${srcdir}/config.x86_64" > ./.config
diff --git a/config b/config
index ec5ea79120df..80912a55e82e 100644
--- a/config
+++ b/config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.7.1-1 Kernel Configuration
+# Linux/i386 3.7.1-2 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
diff --git a/config.x86_64 b/config.x86_64
index 1196365f02ce..3dcbb6610238 100644
--- a/config.x86_64
+++ b/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.7.1-1 Kernel Configuration
+# Linux/x86_64 3.7.1-2 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
diff --git a/fix-watchdog-3.7.patch b/fix-watchdog-3.7.patch
new file mode 100644
index 000000000000..2a8e77a8a922
--- /dev/null
+++ b/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 */
diff --git a/linux-linode.install b/linux-linode.install
index f786a942c0c6..9c7da7c092b0 100644
--- a/linux-linode.install
+++ b/linux-linode.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-linode
-KERNEL_VERSION=3.7.1-1-linode
+KERNEL_VERSION=3.7.1-2-linode
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'