aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc
diff options
context:
space:
mode:
authorYing Xue <ying.xue@windriver.com>2014-11-25 22:41:51 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-26 12:30:17 -0500
commit58d78b328a70f4b5ed1c00010499aaedb715ea5b (patch)
treeca705d8ce251dfac67400253c07e16647e89282e /net/tipc
parent99315ad43d92a8df0e4a30a0694336cdcdb7965f (diff)
tipc: use skb_queue_walk_safe marco to simplify link_prepare_wakeup routine
Signed-off-by: Ying Xue <ying.xue@windriver.com> Reviewed-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc')
-rw-r--r--net/tipc/link.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c
index 8eb885eb1433..ddee498e74bc 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -367,15 +367,15 @@ static bool link_schedule_user(struct tipc_link *link, u32 oport,
367 */ 367 */
368static void link_prepare_wakeup(struct tipc_link *link) 368static void link_prepare_wakeup(struct tipc_link *link)
369{ 369{
370 struct sk_buff_head *wq = &link->waiting_sks;
371 struct sk_buff *buf;
372 uint pend_qsz = link->out_queue_size; 370 uint pend_qsz = link->out_queue_size;
371 struct sk_buff *skb, *tmp;
373 372
374 for (buf = skb_peek(wq); buf; buf = skb_peek(wq)) { 373 skb_queue_walk_safe(&link->waiting_sks, skb, tmp) {
375 if (pend_qsz >= link->queue_limit[TIPC_SKB_CB(buf)->chain_imp]) 374 if (pend_qsz >= link->queue_limit[TIPC_SKB_CB(skb)->chain_imp])
376 break; 375 break;
377 pend_qsz += TIPC_SKB_CB(buf)->chain_sz; 376 pend_qsz += TIPC_SKB_CB(skb)->chain_sz;
378 __skb_queue_tail(&link->owner->waiting_sks, __skb_dequeue(wq)); 377 __skb_unlink(skb, &link->waiting_sks);
378 __skb_queue_tail(&link->owner->waiting_sks, skb);
379 } 379 }
380} 380}
381 381