summaryrefslogtreecommitdiff
path: root/libre/linux-libre/3.4.2-rpc_pipefs.patch
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <andre@pc-01.localdomain>2012-06-12 14:09:59 -0300
committerAndré Fabian Silva Delgado <andre@pc-01.localdomain>2012-06-12 14:09:59 -0300
commita8a0c9d4965d7b004de5659cb9dcbadd8d8d714d (patch)
tree9eae7925679039fbcf8d80340c1462cf94a5e2de /libre/linux-libre/3.4.2-rpc_pipefs.patch
parent6d006ae5a02b1276e0fe231c95a23465e126e759 (diff)
downloadabslibre-a8a0c9d4965d7b004de5659cb9dcbadd8d8d714d.tar.gz
abslibre-a8a0c9d4965d7b004de5659cb9dcbadd8d8d714d.tar.bz2
abslibre-a8a0c9d4965d7b004de5659cb9dcbadd8d8d714d.zip
linux-libre-3.4.2-2: fix potential nfs4 issue and updating version for mips64el
Diffstat (limited to 'libre/linux-libre/3.4.2-rpc_pipefs.patch')
-rw-r--r--libre/linux-libre/3.4.2-rpc_pipefs.patch34
1 files changed, 34 insertions, 0 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
+
+