summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYing Xue <ying.xue@windriver.com>2013-01-20 23:30:08 +0100
committerPaul Gortmaker <paul.gortmaker@windriver.com>2013-02-15 16:10:13 -0500
commit57467e56293796f780e91a24600a732516f534ac (patch)
tree0d6915d5ef8b851d6099fcdf49d342f1ea5d254f
parentd887199dc28c46788b155b234274d5ff41afed8e (diff)
downloadlinux-stable-57467e56293796f780e91a24600a732516f534ac.tar.gz
linux-stable-57467e56293796f780e91a24600a732516f534ac.tar.bz2
linux-stable-57467e56293796f780e91a24600a732516f534ac.zip
tipc: eliminate duplicated discard_rx_queue routine
The tipc function discard_rx_queue() is just a duplicated implementation of __skb_queue_purge(). Remove the former and directly invoke __skb_queue_purge(). In doing so, the underscores convey to the code reader, more information about the current locking state that is assumed. Signed-off-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--net/tipc/socket.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 9b4e4833a484..f6ceecd44749 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -129,19 +129,6 @@ static void advance_rx_queue(struct sock *sk)
}
/**
- * discard_rx_queue - discard all buffers in socket receive queue
- *
- * Caller must hold socket lock
- */
-static void discard_rx_queue(struct sock *sk)
-{
- struct sk_buff *buf;
-
- while ((buf = __skb_dequeue(&sk->sk_receive_queue)))
- kfree_skb(buf);
-}
-
-/**
* reject_rx_queue - reject all buffers in socket receive queue
*
* Caller must hold socket lock
@@ -292,7 +279,7 @@ static int release(struct socket *sock)
res = tipc_deleteport(tport->ref);
/* Discard any remaining (connection-based) messages in receive queue */
- discard_rx_queue(sk);
+ __skb_queue_purge(&sk->sk_receive_queue);
/* Reject any messages that accumulated in backlog queue */
sock->state = SS_DISCONNECTING;
@@ -1637,7 +1624,7 @@ restart:
case SS_DISCONNECTING:
/* Discard any unreceived messages */
- discard_rx_queue(sk);
+ __skb_queue_purge(&sk->sk_receive_queue);
/* Wake up anyone sleeping in poll */
sk->sk_state_change(sk);