From 439f8deba06583a14b0b853be5e18d9f6747e9bf Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Mon, 25 Jan 2016 15:51:06 +0000
Subject: linux: add patch to fix xfs blocking suspend

---
 abs/core/linux/PKGBUILD          | 30 ++++++++++++++++++------------
 abs/core/linux/linux.install.pkg |  2 +-
 abs/core/linux/suspend-xfs.patch | 12 ++++++++++++
 3 files changed, 31 insertions(+), 13 deletions(-)
 create mode 100644 abs/core/linux/suspend-xfs.patch

diff --git a/abs/core/linux/PKGBUILD b/abs/core/linux/PKGBUILD
index 0089b4b..d54233d 100644
--- a/abs/core/linux/PKGBUILD
+++ b/abs/core/linux/PKGBUILD
@@ -6,7 +6,7 @@ pkgbase=linux               # Build stock -ARCH kernel
 #pkgbase=linux-custom       # Build kernel with a different name
 _srcname=linux-4.4
 pkgver=4.4
-pkgrel=4
+pkgrel=5
 arch=('i686' 'x86_64')
 url="http://www.kernel.org/"
 license=('GPL2')
@@ -23,17 +23,9 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
         'change-default-console-loglevel.patch'
         '0001-sdhci-revert.patch'
         'tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch'
-        'CVE-2016-0728.patch')
-
-sha256sums=('401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2'
-            'SKIP'
-            'd402c67f5a7334ac9e242344055ef4ac63fe43a1d8f1cda82eddd59d7242a63e'
-            'ddeadf2910deb0803d4d4920c4dc7f07d3fb63bca564073aeb5f6181358f20d7'
-            'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
-            '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
-            '5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375'
-            'ab57037ecee0a425c612babdff47c831378bca0bff063a1308599989a350226d'
-            '03bed5b1c6ef34a917e218a46d38cd1347c5ab5693131996113c6cad275dc4e9')
+        'CVE-2016-0728.patch'
+        'suspend-xfs.patch')
+
 validpgpkeys=(
               'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
               '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@@ -67,6 +59,10 @@ prepare() {
   # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
   patch -p1 -i "${srcdir}/change-default-console-loglevel.patch"
 
+  # fix suspend with xfs
+  # http://oss.sgi.com/pipermail/xfs/2016-January/046036.html
+  patch -Np1 --ignore-whitespace -i "${srcdir}/suspend-xfs.patch"
+
   if [ "${CARCH}" = "x86_64" ]; then
     cat "${srcdir}/config.x86_64" > ./.config
   else
@@ -309,3 +305,13 @@ for _p in ${pkgname[@]}; do
 done
 
 # vim:set ts=8 sts=2 sw=2 et:
+md5sums=('9a78fa2eb6c68ca5a40ed5af08142599'
+         'SKIP'
+         '11117629de25c921ad42f949c5133b96'
+         '8afd1ad1a2454a4daed71fc91a7a3fbc'
+         'eb14dcfd80c00852ef81ded6e826826a'
+         'df7fceae6ee5d7e7be7b60ecd7f6bb35'
+         'e1093d9bc718f362344ab56b85d4fb76'
+         'a00ad770d2a49a282a8bbf951852c2a1'
+         'c018da62d8f3a48e8a8985a1af43185d'
+         '0e3f4e1ec0ae38a30852e4b7af9de693')
diff --git a/abs/core/linux/linux.install.pkg b/abs/core/linux/linux.install.pkg
index 7ac1e99..090bdda 100644
--- a/abs/core/linux/linux.install.pkg
+++ b/abs/core/linux/linux.install.pkg
@@ -2,7 +2,7 @@
 # arg 2:  the old package version
 
 KERNEL_NAME=
-KERNEL_VERSION=4.4.0-4-ARCH
+KERNEL_VERSION=4.4.0-5-ARCH
 
 post_install () {
   # updating module dependencies
diff --git a/abs/core/linux/suspend-xfs.patch b/abs/core/linux/suspend-xfs.patch
new file mode 100644
index 0000000..39705b2
--- /dev/null
+++ b/abs/core/linux/suspend-xfs.patch
@@ -0,0 +1,12 @@
+diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c
+index aa67339..4f18fd9 100644
+--- a/fs/xfs/xfs_trans_ail.c
++++ b/fs/xfs/xfs_trans_ail.c
+@@ -497,7 +497,6 @@ xfsaild(
+    long        tout = 0;   /* milliseconds */
+ 
+    current->flags |= PF_MEMALLOC;
+-   set_freezable();
+ 
+    while (!kthread_should_stop()) {
+        if (tout && tout <= 20)
-- 
cgit v0.12

