diff options
author | David S. Miller <davem@davemloft.net> | 2010-12-08 10:01:00 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-08 10:01:00 -0800 |
commit | a2d4b65d477aad1fe8c7218781a031fa9cf5abfc (patch) | |
tree | 940fa997e1a2897999bf92361e80162d6bdbbaad /net/dccp/output.c | |
parent | 01b0c5cfb23f19837650aa53495ace6d0fd7d3f8 (diff) | |
parent | 04910265078f08a73208beab70ed2a3cce4a919f (diff) | |
download | linux-a2d4b65d477aad1fe8c7218781a031fa9cf5abfc.tar.gz linux-a2d4b65d477aad1fe8c7218781a031fa9cf5abfc.tar.xz |
Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/net-next-2.6
Diffstat (limited to 'net/dccp/output.c')
-rw-r--r-- | net/dccp/output.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/dccp/output.c b/net/dccp/output.c index d96dd9d362ae..784d30210543 100644 --- a/net/dccp/output.c +++ b/net/dccp/output.c @@ -242,7 +242,7 @@ static void dccp_xmit_packet(struct sock *sk) { int err, len; struct dccp_sock *dp = dccp_sk(sk); - struct sk_buff *skb = skb_dequeue(&sk->sk_write_queue); + struct sk_buff *skb = dccp_qpolicy_pop(sk); if (unlikely(skb == NULL)) return; @@ -345,7 +345,7 @@ void dccp_write_xmit(struct sock *sk) struct dccp_sock *dp = dccp_sk(sk); struct sk_buff *skb; - while ((skb = skb_peek(&sk->sk_write_queue))) { + while ((skb = dccp_qpolicy_top(sk))) { int rc = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb); switch (ccid_packet_dequeue_eval(rc)) { @@ -359,8 +359,7 @@ void dccp_write_xmit(struct sock *sk) dccp_xmit_packet(sk); break; case CCID_PACKET_ERR: - skb_dequeue(&sk->sk_write_queue); - kfree_skb(skb); + dccp_qpolicy_drop(sk, skb); dccp_pr_debug("packet discarded due to err=%d\n", rc); } } |