else { /* In dangerous area, increase slowly. * In theory this is tp->snd_cwnd += 1 / tp->snd_cwnd */ if (tp->snd_cwnd_cnt >= tp->snd_cwnd) { if (tp->snd_cwnd < tp->snd_cwnd_clamp) tp->snd_cwnd++; tp->snd_cwnd_cnt = 0; } else tp->snd_cwnd_cnt++; } 
 /* In dangerous area, increase slowly. */ else if (sysctl_tcp_abc) { /* RFC3465: Apppriate Byte Count * increase once for each full cwnd acked */ if (tp->bytes_acked >= tp->snd_cwnd*tp->mss_cache) { tp->bytes_acked -= tp->snd_cwnd*tp->mss_cache; if (tp->snd_cwnd < tp->snd_cwnd_clamp) tp->snd_cwnd++; } } else { /* In theory this is tp->snd_cwnd += 1 / tp->snd_cwnd */ if (tp->snd_cwnd_cnt >= tp->snd_cwnd) { if (tp->snd_cwnd < tp->snd_cwnd_clamp) tp->snd_cwnd++; tp->snd_cwnd_cnt = 0; } else tp->snd_cwnd_cnt++; } 
void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 rtt, u32 in_flight,			 int flag){	struct tcp_sock *tp = tcp_sk(sk);	if (!tcp_is_cwnd_limited(sk, in_flight))		return;	/* In "safe" area, increase. */        if (tp->snd_cwnd <= tp->snd_ssthresh)		tcp_slow_start(tp);	else {		/* In dangerous area, increase slowly.		 * In theory this is tp->snd_cwnd += 1 / tp->snd_cwnd		 */		if (tp->snd_cwnd_cnt >= tp->snd_cwnd) {			if (tp->snd_cwnd < tp->snd_cwnd_clamp)				tp->snd_cwnd++;			tp->snd_cwnd_cnt = 0;		} else			tp->snd_cwnd_cnt++;	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/9772efb970780aeed488c19d8b4afd46c3b484af/tcp_cong.c/buggy/net/ipv4/tcp_cong.c