if (step == 0) { printk(KERN_CRIT "%s: %s, sk=%p, packet history contains no " "data packets!\n", __FUNCTION__, dccp_role(sk), sk); 
if (unlikely(step == 0)) { LIMIT_NETDEBUG(KERN_WARNING "%s: %s, sk=%p, packet history " "contains no data packets!\n", __FUNCTION__, dccp_role(sk), sk); 
static u32 ccid3_hc_rx_calc_first_li(struct sock *sk){	struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk);	struct dccp_rx_hist_entry *entry, *next, *tail = NULL;	u32 rtt, delta, x_recv, fval, p, tmp2;	struct timeval tstamp = { 0, };	int interval = 0;	int win_count = 0;	int step = 0;	u64 tmp1;	list_for_each_entry_safe(entry, next, &hcrx->ccid3hcrx_hist,				 dccphrx_node) {		if (dccp_rx_hist_entry_data_packet(entry)) {			tail = entry;			switch (step) {			case 0:				tstamp	  = entry->dccphrx_tstamp;				win_count = entry->dccphrx_ccval;				step = 1;				break;			case 1:				interval = win_count - entry->dccphrx_ccval;				if (interval < 0)					interval += TFRC_WIN_COUNT_LIMIT;				if (interval > 4)					goto found;				break;			}		}	}	if (step == 0) {		printk(KERN_CRIT "%s: %s, sk=%p, packet history contains no "				 "data packets!\n",		       __FUNCTION__, dccp_role(sk), sk);		return ~0;	}	if (interval == 0) {		ccid3_pr_debug("%s, sk=%p, Could not find a win_count "			       "interval > 0. Defaulting to 1\n",			       dccp_role(sk), sk);		interval = 1;	}found:	rtt = timeval_delta(&tstamp, &tail->dccphrx_tstamp) * 4 / interval;	ccid3_pr_debug("%s, sk=%p, approximated RTT to %uus\n",		       dccp_role(sk), sk, rtt);	if (rtt == 0)		rtt = 1;	dccp_timestamp(sk, &tstamp);	delta = timeval_delta(&tstamp, &hcrx->ccid3hcrx_tstamp_last_feedback);	x_recv = usecs_div(hcrx->ccid3hcrx_bytes_recv, delta);	tmp1 = (u64)x_recv * (u64)rtt;	do_div(tmp1,10000000);	tmp2 = (u32)tmp1;	fval = (hcrx->ccid3hcrx_s * 100000) / tmp2;	/* do not alter order above or you will get overflow on 32 bit */	p = tfrc_calc_x_reverse_lookup(fval);	ccid3_pr_debug("%s, sk=%p, receive rate=%u bytes/s, implied "		       "loss rate=%u\n", dccp_role(sk), sk, x_recv, p);	if (p == 0)		return ~0;	else		return 1000000 / p; }
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/59d203f9e989c81defc2cb1c559d678e16dbe684/ccid3.c/clean/net/dccp/ccids/ccid3.c