BUG_ON(hctx == NULL);  if (hctx->ccid3hctx_state == TFRC_SSTATE_TERM) { ccid3_pr_debug("%s, sk=%p, while state is TFRC_SSTATE_TERM!\n", dccp_role(sk), sk); return; } 
BUG_ON(hctx == NULL || hctx->ccid3hctx_state == TFRC_SSTATE_TERM); 
static void ccid3_hc_tx_packet_sent(struct sock *sk, int more, int len){	const struct dccp_sock *dp = dccp_sk(sk);	struct ccid3_hc_tx_sock *hctx = ccid3_hc_tx_sk(sk);	struct timeval now;	BUG_ON(hctx == NULL);	if (hctx->ccid3hctx_state == TFRC_SSTATE_TERM) {		ccid3_pr_debug("%s, sk=%p, while state is TFRC_SSTATE_TERM!\n",			       dccp_role(sk), sk);		return;	}	dccp_timestamp(sk, &now);	/* check if we have sent a data packet */	if (len > 0) {		unsigned long quarter_rtt;		struct dccp_tx_hist_entry *packet;		packet = dccp_tx_hist_head(&hctx->ccid3hctx_hist);		if (packet == NULL) {			printk(KERN_CRIT "%s: packet doesn't exists in "					 "history!\n", __FUNCTION__);			return;		}		if (packet->dccphtx_sent) {			printk(KERN_CRIT "%s: no unsent packet in history!\n",			       __FUNCTION__);			return;		}		packet->dccphtx_tstamp = now;		packet->dccphtx_seqno  = dp->dccps_gss;		/*		 * Check if win_count have changed		 * Algorithm in "8.1. Window Counter Valuer" in		 * draft-ietf-dccp-ccid3-11.txt		 */		quarter_rtt = timeval_delta(&now, &hctx->ccid3hctx_t_last_win_count);		if (likely(hctx->ccid3hctx_rtt > 8))			quarter_rtt /= hctx->ccid3hctx_rtt / 4;		if (quarter_rtt > 0) {			hctx->ccid3hctx_t_last_win_count = now;			hctx->ccid3hctx_last_win_count	 = (hctx->ccid3hctx_last_win_count +							    min_t(unsigned long, quarter_rtt, 5)) % 16;			ccid3_pr_debug("%s, sk=%p, window changed from "				       "%u to %u!\n",				       dccp_role(sk), sk,				       packet->dccphtx_ccval,				       hctx->ccid3hctx_last_win_count);		}		hctx->ccid3hctx_idle = 0;		packet->dccphtx_rtt  = hctx->ccid3hctx_rtt;		packet->dccphtx_sent = 1;	} else		ccid3_pr_debug("%s, sk=%p, seqno=%llu NOT inserted!\n",			       dccp_role(sk), sk, dp->dccps_gss);	switch (hctx->ccid3hctx_state) {	case TFRC_SSTATE_NO_SENT:		/* if first wasn't pure ack */		if (len != 0)			printk(KERN_CRIT "%s: %s, First packet sent is noted "					 "as a data packet\n",			       __FUNCTION__, dccp_role(sk));		return;	case TFRC_SSTATE_NO_FBACK:	case TFRC_SSTATE_FBACK:		if (len > 0) {			hctx->ccid3hctx_t_nom = now;			ccid3_calc_new_t_ipi(hctx);			ccid3_calc_new_delta(hctx);			timeval_add_usecs(&hctx->ccid3hctx_t_nom,					  hctx->ccid3hctx_t_ipi);		}		break;	default:		printk(KERN_CRIT "%s: %s, sk=%p, Illegal state (%d)!\n",		       __FUNCTION__, dccp_role(sk), sk, hctx->ccid3hctx_state);		dump_stack();		break;	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/59d203f9e989c81defc2cb1c559d678e16dbe684/ccid3.c/clean/net/dccp/ccids/ccid3.c