diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2006-11-28 16:55:06 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 00:31:02 -0500 |
commit | 6b57c93dc3aa0115b589cb89ef862d46ab9bd95e (patch) | |
tree | f825b1288d7839ade26225bb0a630540e38ffe41 /net/dccp/output.c | |
parent | a79ef76f4d8424324c2f108824a7398571193f43 (diff) |
[DCCP]: Use `unsigned' for packet lengths
This patch implements a suggestion by Ian McDonald and
1) Avoids tests against negative packet lengths by using unsigned int
for packet payload lengths in the CCID send_packet()/packet_sent() routines
2) As a consequence, it removes an now unnecessary test with regard to `len > 0'
in ccid3_hc_tx_packet_sent: that condition is always true, since
* negative packet lengths are avoided
* ccid3_hc_tx_send_packet flags an error whenever the payload length is 0.
As a consequence, ccid3_hc_tx_packet_sent is never called as all errors
returned by ccid_hc_tx_send_packet are caught in dccp_write_xmit
3) Removes the third argument of ccid_hc_tx_send_packet (the `len' parameter),
since it is currently always set to skb->len. The code is updated with regard
to this parameter change.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/dccp/output.c')
-rw-r--r-- | net/dccp/output.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/dccp/output.c b/net/dccp/output.c index bfd9c5757897..400c30b6fcae 100644 --- a/net/dccp/output.c +++ b/net/dccp/output.c | |||
@@ -195,8 +195,7 @@ static int dccp_wait_for_ccid(struct sock *sk, struct sk_buff *skb, | |||
195 | if (signal_pending(current)) | 195 | if (signal_pending(current)) |
196 | goto do_interrupted; | 196 | goto do_interrupted; |
197 | 197 | ||
198 | rc = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb, | 198 | rc = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb); |
199 | skb->len); | ||
200 | if (rc <= 0) | 199 | if (rc <= 0) |
201 | break; | 200 | break; |
202 | delay = msecs_to_jiffies(rc); | 201 | delay = msecs_to_jiffies(rc); |
@@ -245,8 +244,7 @@ void dccp_write_xmit(struct sock *sk, int block) | |||
245 | this we have other issues */ | 244 | this we have other issues */ |
246 | 245 | ||
247 | while ((skb = skb_peek(&sk->sk_write_queue))) { | 246 | while ((skb = skb_peek(&sk->sk_write_queue))) { |
248 | int err = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb, | 247 | int err = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb); |
249 | skb->len); | ||
250 | 248 | ||
251 | if (err > 0) { | 249 | if (err > 0) { |
252 | if (!block) { | 250 | if (!block) { |