]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Add tcp BIC fix fwd from DaveM.
authorChris Wright <chrisw@osdl.org>
Wed, 5 Oct 2005 21:31:10 +0000 (14:31 -0700)
committerChris Wright <chrisw@osdl.org>
Wed, 5 Oct 2005 21:31:10 +0000 (14:31 -0700)
queue/series
queue/tcp-congestion-control-bug.patch [new file with mode: 0644]

index 1f422a055c399198c9ea402b95d7f68bd1d86ac6..d52b4c4bf4304ab59a54beb6bb1d33cac0ed4a11 100644 (file)
@@ -1,2 +1,3 @@
 ieee1394-sbp2-fixes-for-hot-unplug-and-module-unloading.patch
 orinoco-info-leak.patch
+tcp-congestion-control-bug.patch
diff --git a/queue/tcp-congestion-control-bug.patch b/queue/tcp-congestion-control-bug.patch
new file mode 100644 (file)
index 0000000..787eea6
--- /dev/null
@@ -0,0 +1,39 @@
+From stable-bounces@linux.kernel.org  Wed Oct  5 12:10:57 2005
+Date: Wed, 05 Oct 2005 12:10:43 -0700 (PDT)
+To: stable@kernel.org
+From: "David S. Miller" <davem@davemloft.net>
+Cc: 
+Subject: [TCP]: BIC coding bug in Linux 2.6.13
+
+From: Stephen Hemminger <shemminger@osdl.org>
+
+Please consider this change for 2.6.13-stable   Since BIC is
+the default congestion control algorithm, this fix is quite
+important.
+
+Missing parenthesis in causes BIC to be slow in increasing congestion
+window.
+
+Spotted by Injong Rhee.
+
+Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Chris Wright <chrisw@osdl.org>
+---
+
+ net/ipv4/tcp_bic.c |    2 +-
+ 1 files changed, 1 insertion(+), 1 deletion(-)
+
+Index: linux-2.6.13.y/net/ipv4/tcp_bic.c
+===================================================================
+--- linux-2.6.13.y.orig/net/ipv4/tcp_bic.c
++++ linux-2.6.13.y/net/ipv4/tcp_bic.c
+@@ -136,7 +136,7 @@ static inline void bictcp_update(struct 
+               else if (cwnd < ca->last_max_cwnd + max_increment*(BICTCP_B-1))
+                       /* slow start */
+                       ca->cnt = (cwnd * (BICTCP_B-1))
+-                              / cwnd-ca->last_max_cwnd;
++                              / (cwnd - ca->last_max_cwnd);
+               else
+                       /* linear increase */
+                       ca->cnt = cwnd / max_increment;