diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-23 01:14:36 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-23 01:14:36 -0400 |
commit | 3d09274cc9d816d62945408840a9cb76a5e7aac7 (patch) | |
tree | aaa71085396fae5c2bcbd0752071e3a0139d370d /include | |
parent | 1d4a31dde95af56edac4dee268249a29a21fa7c0 (diff) |
sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/sctp/sctp.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 17b932b8a55a..703305d00365 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
@@ -406,10 +406,7 @@ struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id); | |||
406 | 406 | ||
407 | /* A macro to walk a list of skbs. */ | 407 | /* A macro to walk a list of skbs. */ |
408 | #define sctp_skb_for_each(pos, head, tmp) \ | 408 | #define sctp_skb_for_each(pos, head, tmp) \ |
409 | for (pos = (head)->next;\ | 409 | skb_queue_walk_safe(head, pos, tmp) |
410 | tmp = (pos)->next, pos != ((struct sk_buff *)(head));\ | ||
411 | pos = tmp) | ||
412 | |||
413 | 410 | ||
414 | /* A helper to append an entire skb list (list) to another (head). */ | 411 | /* A helper to append an entire skb list (list) to another (head). */ |
415 | static inline void sctp_skb_list_tail(struct sk_buff_head *list, | 412 | static inline void sctp_skb_list_tail(struct sk_buff_head *list, |
@@ -420,10 +417,7 @@ static inline void sctp_skb_list_tail(struct sk_buff_head *list, | |||
420 | sctp_spin_lock_irqsave(&head->lock, flags); | 417 | sctp_spin_lock_irqsave(&head->lock, flags); |
421 | sctp_spin_lock(&list->lock); | 418 | sctp_spin_lock(&list->lock); |
422 | 419 | ||
423 | list_splice((struct list_head *)list, (struct list_head *)head->prev); | 420 | skb_queue_splice_tail_init(list, head); |
424 | |||
425 | head->qlen += list->qlen; | ||
426 | list->qlen = 0; | ||
427 | 421 | ||
428 | sctp_spin_unlock(&list->lock); | 422 | sctp_spin_unlock(&list->lock); |
429 | sctp_spin_unlock_irqrestore(&head->lock, flags); | 423 | sctp_spin_unlock_irqrestore(&head->lock, flags); |