summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/linux-libre/3.4.2-rpc_pipefs.patch34
-rw-r--r--libre/linux-libre/PKGBUILD13
-rw-r--r--libre/linux-libre/linux-libre.install2
3 files changed, 45 insertions, 4 deletions
diff --git a/libre/linux-libre/3.4.2-rpc_pipefs.patch b/libre/linux-libre/3.4.2-rpc_pipefs.patch
new file mode 100644
index 000000000..5c3245669
--- /dev/null
+++ b/libre/linux-libre/3.4.2-rpc_pipefs.patch
@@ -0,0 +1,34 @@
+diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
+index 0404047..21fde99 100644
+--- a/net/sunrpc/rpc_pipe.c
++++ b/net/sunrpc/rpc_pipe.c
+@@ -71,7 +71,9 @@ static void rpc_purge_list(wait_queue_head_t *waitq, struct list_head *head,
+ msg->errno = err;
+ destroy_msg(msg);
+ } while (!list_empty(head));
+- wake_up(waitq);
++
++ if (waitq)
++ wake_up(waitq);
+ }
+
+ static void
+@@ -91,11 +93,9 @@ rpc_timeout_upcall_queue(struct work_struct *work)
+ }
+ dentry = dget(pipe->dentry);
+ spin_unlock(&pipe->lock);
+- if (dentry) {
+- rpc_purge_list(&RPC_I(dentry->d_inode)->waitq,
+- &free_list, destroy_msg, -ETIMEDOUT);
+- dput(dentry);
+- }
++ rpc_purge_list(dentry ? &RPC_I(dentry->d_inode)->waitq : NULL,
++ &free_list, destroy_msg, -ETIMEDOUT);
++ dput(dentry);
+ }
+
+ ssize_t rpc_pipe_generic_upcall(struct file *filp, struct rpc_pipe_msg *msg,
+--
+1.7.7.6
+
+
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index 4f10a211a..78f03392c 100644
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -14,8 +14,8 @@ _kernelname=-LIBRE
_basekernel=3.4
_sublevel=2
pkgver=${_basekernel}.${_sublevel}
-_lxopkgver=${_basekernel}.1 # nearly always the same as pkgver
-pkgrel=1
+_lxopkgver=${_basekernel}.2 # nearly always the same as pkgver
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -32,6 +32,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'boot-logo.patch'
'change-default-console-loglevel.patch'
'i915-fix-ghost-tv-output.patch'
+ '3.4.2-rpc_pipefs.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
md5sums=('a5e128ca059cceb8b69148b41ff4ac6f'
'ea827952923c8a926c0831ad3f124190'
@@ -43,7 +44,8 @@ md5sums=('a5e128ca059cceb8b69148b41ff4ac6f'
'04b21c79df0a952c22d681dd4f4562df'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
- 'f70a4bf0ee00d8be680cfbd65459836d')
+ '18b3877f9014c8cdd5eb8f6a9e8a3a3a'
+ '972b3b460764780ee48f031a043a9c09')
if [ "$CARCH" != "mips64el" ]; then
# Don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
@@ -60,6 +62,11 @@ build() {
# Add freedo as boot logo
patch -Np1 -i "${srcdir}/boot-logo.patch"
+ # fix nfs4 regression
+ patch -Np1 -i "${srcdir}/3.4.2-rpc_pipefs.patch"
+ # add latest fixes from stable queue, if needed
+ # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
+
# Some chips detect a ghost TV output
# mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html
# Arch Linux bug report: FS#19234
diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install
index 584f0f645..985ebf0c7 100644
--- a/libre/linux-libre/linux-libre.install
+++ b/libre/linux-libre/linux-libre.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=3.4.2-1-LIBRE
+KERNEL_VERSION=3.4.2-2-LIBRE
post_install () {
# updating module dependencies