dccp_pr_debug("Found %llu reserved seat!\n", ackno); 
dccp_pr_debug("Found %llu reserved seat!\n", (unsigned long long) ackno); 
int dccp_ackpkts_add(struct dccp_ackpkts *ap, u64 ackno, u8 state){	/*	 * Check at the right places if the buffer is full, if it is, tell the	 * caller to start dropping packets till the HC-Sender acks our ACK	 * vectors, when we will free up space in dccpap_buf.	 *	 * We may well decide to do buffer compression, etc, but for now lets	 * just drop.	 *	 * From Appendix A:	 *	 *	Of course, the circular buffer may overflow, either when the HC-	 *	Sender is sending data at a very high rate, when the HC-Receiver's	 *	acknowledgements are not reaching the HC-Sender, or when the HC-	 *	Sender is forgetting to acknowledge those acks (so the HC-Receiver	 *	is unable to clean up old state).  In this case, the HC-Receiver	 *	should either compress the buffer (by increasing run lengths when	 *	possible), transfer its state to a larger buffer, or, as a last	 *	resort, drop all received packets, without processing them	 *	whatsoever, until its buffer shrinks again.	 */	/* See if this is the first ackno being inserted */	if (ap->dccpap_buf_vector_len == 0) {		ap->dccpap_buf[ap->dccpap_buf_head] = state;		ap->dccpap_buf_vector_len = 1;	} else if (after48(ackno, ap->dccpap_buf_ackno)) {		const u64 delta = dccp_delta_seqno(ap->dccpap_buf_ackno, ackno);		/*		 * Look if the state of this packet is the same as the previous ackno		 * and if so if we can bump the head len.		 */		if (delta == 1 &&		    dccp_ackpkts_state(ap, ap->dccpap_buf_head) == state &&		    dccp_ackpkts_len(ap, ap->dccpap_buf_head) < DCCP_ACKPKTS_LEN_MASK)			ap->dccpap_buf[ap->dccpap_buf_head]++;		else if (dccp_ackpkts_set_buf_head_state(ap, delta, state))			return -ENOBUFS;	} else {		/*		 * A.1.2.  Old Packets		 *		 *	When a packet with Sequence Number S arrives, and S <= buf_ackno,		 *	the HC-Receiver will scan the table for the byte corresponding to S.		 *	(Indexing structures could reduce the complexity of this scan.)		 */		u64 delta = dccp_delta_seqno(ackno, ap->dccpap_buf_ackno);		unsigned int index = ap->dccpap_buf_head;		while (1) {			const u8 len = dccp_ackpkts_len(ap, index);			const u8 state = dccp_ackpkts_state(ap, index);			/*			 * valid packets not yet in dccpap_buf have a reserved entry, with			 * a len equal to 0			 */			if (state == DCCP_ACKPKTS_STATE_NOT_RECEIVED &&			    len == 0 && delta == 0) { /* Found our reserved seat! */				dccp_pr_debug("Found %llu reserved seat!\n", ackno);				ap->dccpap_buf[index] = state;				goto out;			}			/* len == 0 means one packet */			if (delta < len + 1)				goto out_duplicate;			delta -= len + 1;			if (++index == ap->dccpap_buf_len)				index = 0;		}	}	ap->dccpap_buf_ackno = ackno;	ap->dccpap_time = jiffies;out:	dccp_pr_debug("");	dccp_ackpkts_print(ap);	return 0;out_duplicate:	/* Duplicate packet */	dccp_pr_debug("Received a dup or already considered lost packet: %llu\n", ackno);	return -EILSEQ;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f6ccf55419c4f0021e7382f000f2fd14a29f3d3c/options.c/buggy/net/dccp/options.c