From 66b4a5f3a049888b0157cdeb30725bf4b3175ee5 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Mon, 11 Jun 2012 10:03:42 -0400 Subject: [PATCH] --- yaml --- r: 310959 b: refs/heads/master c: 92123e068efa310b09e9943ac1cfd10ff6b6d2e4 h: refs/heads/master i: 310957: 13c641eb1083c18a0ab8f4421960440a51b46bc1 310955: 7c0ac81486a1b63cfb8ec44b4bfb98c5c4c3254a 310951: 6fc0b626eb566b3de9310539bf2d6946b18b865b 310943: 9c4af7671433aa8d4bda02161bc41d4818fe49c2 v: v3 --- [refs] | 2 +- trunk/net/sunrpc/rpc_pipe.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 4320709e4036..36fc05c2c9dc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2669940db8d02147181e338bb6db98394569f31a +refs/heads/master: 92123e068efa310b09e9943ac1cfd10ff6b6d2e4 diff --git a/trunk/net/sunrpc/rpc_pipe.c b/trunk/net/sunrpc/rpc_pipe.c index 04040476082e..21fde99e5c56 100644 --- a/trunk/net/sunrpc/rpc_pipe.c +++ b/trunk/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,