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>
This commit is contained in:
parent
99315ad43d
commit
58d78b328a
1 changed files with 6 additions and 6 deletions
|
@ -367,15 +367,15 @@ static bool link_schedule_user(struct tipc_link *link, u32 oport,
|
|||
*/
|
||||
static void link_prepare_wakeup(struct tipc_link *link)
|
||||
{
|
||||
struct sk_buff_head *wq = &link->waiting_sks;
|
||||
struct sk_buff *buf;
|
||||
uint pend_qsz = link->out_queue_size;
|
||||
struct sk_buff *skb, *tmp;
|
||||
|
||||
for (buf = skb_peek(wq); buf; buf = skb_peek(wq)) {
|
||||
if (pend_qsz >= link->queue_limit[TIPC_SKB_CB(buf)->chain_imp])
|
||||
skb_queue_walk_safe(&link->waiting_sks, skb, tmp) {
|
||||
if (pend_qsz >= link->queue_limit[TIPC_SKB_CB(skb)->chain_imp])
|
||||
break;
|
||||
pend_qsz += TIPC_SKB_CB(buf)->chain_sz;
|
||||
__skb_queue_tail(&link->owner->waiting_sks, __skb_dequeue(wq));
|
||||
pend_qsz += TIPC_SKB_CB(skb)->chain_sz;
|
||||
__skb_unlink(skb, &link->waiting_sks);
|
||||
__skb_queue_tail(&link->owner->waiting_sks, skb);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue