tipc: eliminate duplicated discard_rx_queue routine
authorYing Xue <ying.xue@windriver.com>
Sun, 20 Jan 2013 22:30:08 +0000 (23:30 +0100)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Fri, 15 Feb 2013 21:10:13 +0000 (16:10 -0500)
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>
net/tipc/socket.c

index 9b4e483..f6ceecd 100644 (file)
@@ -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);