[arch-commits] Commit in linux/trunk (PKGBUILD fix-watchdog-3.7.patch linux.install)

Tobias Powalowski tpowa at archlinux.org
Thu Dec 20 19:11:14 UTC 2012


    Date: Thursday, December 20, 2012 @ 14:11:14
  Author: tpowa
Revision: 173676

upgpkg: linux 3.7.1-2

fix watchdog regression

Added:
  linux/trunk/fix-watchdog-3.7.patch
Modified:
  linux/trunk/PKGBUILD
  linux/trunk/linux.install

------------------------+
 PKGBUILD               |   12 +++++++++---
 fix-watchdog-3.7.patch |   38 ++++++++++++++++++++++++++++++++++++++
 linux.install          |    2 +-
 3 files changed, 48 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-12-20 19:05:46 UTC (rev 173675)
+++ PKGBUILD	2012-12-20 19:11:14 UTC (rev 173676)
@@ -6,7 +6,7 @@
 #pkgbase=linux-custom       # Build kernel with a different name
 _srcname=linux-3.7
 pkgver=3.7.1
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 url="http://www.kernel.org/"
 license=('GPL2')
@@ -19,14 +19,16 @@
         # standard config files for mkinitcpio ramdisk
         'linux.preset'
         'change-default-console-loglevel.patch'
-        'fat-3.6.x.patch')
+        'fat-3.6.x.patch'
+        'fix-watchdog-3.7.patch')
 md5sums=('21223369d682bcf44bcdfe1521095983'
          '48f5f530b048e387e978e3e49de7742a'
          '2cf43e0448a8074eb2ff93035168250b'
          '58a9ba178fedb244a0a86b760fb4bd81'
          'eb14dcfd80c00852ef81ded6e826826a'
          '9d3c56a4b999c8bfbd4018089a62f662'
-         '88d501404f172dac6fcb248978251560')
+         '88d501404f172dac6fcb248978251560'
+         '3485d6c7ae3af35d16e09d6d9a7ed32a')
 
 _kernelname=${pkgbase#linux}
 
@@ -48,6 +50,10 @@
   # https://bugs.archlinux.org/task/32916
   patch -Np1 -i "${srcdir}/fat-3.6.x.patch"
 
+  # fix watchdog enable/disable regression
+  # https://bugs.archlinux.org/task/33095
+  patch -Np1 -i "${srcdir}/fix-watchdog-3.7.patch"
+
   if [ "${CARCH}" = "x86_64" ]; then
     cat "${srcdir}/config.x86_64" > ./.config
   else

Added: fix-watchdog-3.7.patch
===================================================================
--- fix-watchdog-3.7.patch	                        (rev 0)
+++ fix-watchdog-3.7.patch	2012-12-20 19:11:14 UTC (rev 173676)
@@ -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 */

Modified: linux.install
===================================================================
--- linux.install	2012-12-20 19:05:46 UTC (rev 173675)
+++ linux.install	2012-12-20 19:11:14 UTC (rev 173676)
@@ -2,7 +2,7 @@
 # arg 2:  the old package version
 
 KERNEL_NAME=
-KERNEL_VERSION=3.7.1-1-ARCH
+KERNEL_VERSION=3.7.1-2-ARCH
 
 # set a sane PATH to ensure that critical utils like depmod will be found
 export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'




More information about the arch-commits mailing list