Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95b21d7e9d099f1cffca08e40f292d6658a88b3c
Commit:     95b21d7e9d099f1cffca08e40f292d6658a88b3c
Parent:     3deeadd74bbf916b502d307222833ffcf68db557
Author:     Gerrit Renker <[EMAIL PROTECTED]>
AuthorDate: Sat Nov 24 22:06:52 2007 -0200
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 14:54:58 2008 -0800

    [CCID2]: Replace pipe assignment-function with assignment
    
    The function ccid2_change_pipe only does an assignment. This patch 
simplifies the code by
    replacing the function with the assignment it performs.
    
    Furthermore, the type of pipe is promoted from `signed' to unsigned 
(increasing the range).
    As a result, a BUG_ON test for negative values now becomes obsolete (for 
safety not removed,
    but replaced with a less annoying `DCCP_BUG').
    
    Signed-off-by: Gerrit Renker <[EMAIL PROTECTED]>
    Signed-off-by: Ian McDonald <[EMAIL PROTECTED]>
    Signed-off-by: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/dccp/ccids/ccid2.c |   16 ++++++----------
 net/dccp/ccids/ccid2.h |    3 ++-
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/net/dccp/ccids/ccid2.c b/net/dccp/ccids/ccid2.c
index 747fa1c..237007b 100644
--- a/net/dccp/ccids/ccid2.c
+++ b/net/dccp/ccids/ccid2.c
@@ -171,11 +171,6 @@ static void ccid2_change_srtt(struct ccid2_hc_tx_sock 
*hctx, long val)
        hctx->ccid2hctx_srtt = val;
 }
 
-static void ccid2_change_pipe(struct ccid2_hc_tx_sock *hctx, long val)
-{
-       hctx->ccid2hctx_pipe = val;
-}
-
 static void ccid2_start_rto_timer(struct sock *sk);
 
 static void ccid2_hc_tx_rto_expire(unsigned long data)
@@ -205,11 +200,11 @@ static void ccid2_hc_tx_rto_expire(unsigned long data)
        ccid2_start_rto_timer(sk);
 
        /* adjust pipe, cwnd etc */
-       ccid2_change_pipe(hctx, 0);
        hctx->ccid2hctx_ssthresh = hctx->ccid2hctx_cwnd / 2;
        if (hctx->ccid2hctx_ssthresh < 2)
                hctx->ccid2hctx_ssthresh = 2;
        hctx->ccid2hctx_cwnd     = 1;
+       hctx->ccid2hctx_pipe     = 0;
 
        /* clear state about stuff we sent */
        hctx->ccid2hctx_seqt    = hctx->ccid2hctx_seqh;
@@ -248,8 +243,7 @@ static void ccid2_hc_tx_packet_sent(struct sock *sk, int 
more, unsigned int len)
 
        BUG_ON(!hctx->ccid2hctx_sendwait);
        hctx->ccid2hctx_sendwait = 0;
-       ccid2_change_pipe(hctx, hctx->ccid2hctx_pipe + 1);
-       BUG_ON(hctx->ccid2hctx_pipe < 0);
+       hctx->ccid2hctx_pipe++;
 
        /* There is an issue.  What if another packet is sent between
         * packet_send() and packet_sent().  Then the sequence number would be
@@ -519,8 +513,10 @@ static void ccid2_hc_tx_dec_pipe(struct sock *sk)
 {
        struct ccid2_hc_tx_sock *hctx = ccid2_hc_tx_sk(sk);
 
-       ccid2_change_pipe(hctx, hctx->ccid2hctx_pipe-1);
-       BUG_ON(hctx->ccid2hctx_pipe < 0);
+       if (hctx->ccid2hctx_pipe == 0)
+               DCCP_BUG("pipe == 0");
+       else
+               hctx->ccid2hctx_pipe--;
 
        if (hctx->ccid2hctx_pipe == 0)
                ccid2_hc_tx_kill_rto_timer(sk);
diff --git a/net/dccp/ccids/ccid2.h b/net/dccp/ccids/ccid2.h
index b72e955..bc659f0 100644
--- a/net/dccp/ccids/ccid2.h
+++ b/net/dccp/ccids/ccid2.h
@@ -42,6 +42,7 @@ struct ccid2_seq {
 
 /** struct ccid2_hc_tx_sock - CCID2 TX half connection
  *
+ * @ccid2hctx_{cwnd,ssthresh,pipe}: as per RFC 4341, section 5
  * @ccid2hctx_ssacks - ACKs recv in slow start
  * @ccid2hctx_acks - ACKS recv in AI phase
  * @ccid2hctx_lastrtt -time RTT was last measured
@@ -51,9 +52,9 @@ struct ccid2_seq {
 struct ccid2_hc_tx_sock {
        u32                     ccid2hctx_cwnd;
        u32                     ccid2hctx_ssthresh;
+       u32                     ccid2hctx_pipe;
        int                     ccid2hctx_ssacks;
        int                     ccid2hctx_acks;
-       int                     ccid2hctx_pipe;
        struct ccid2_seq        *ccid2hctx_seqbuf[CCID2_SEQBUF_MAX];
        int                     ccid2hctx_seqbufc;
        struct ccid2_seq        *ccid2hctx_seqh;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to