} 
} else kfree_skb(skb); 
int dccp_write_xmit(struct sock *sk, struct sk_buff *skb, long *timeo){	const struct dccp_sock *dp = dccp_sk(sk);	int err = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb,					 skb->len);	if (err > 0)		err = dccp_wait_for_ccid(sk, skb, timeo);	if (err == 0) {		struct dccp_skb_cb *dcb = DCCP_SKB_CB(skb);		const int len = skb->len;		if (sk->sk_state == DCCP_PARTOPEN) {			/* See 8.1.5.  Handshake Completion */			inet_csk_schedule_ack(sk);			inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK,						  inet_csk(sk)->icsk_rto,						  DCCP_RTO_MAX);			dcb->dccpd_type = DCCP_PKT_DATAACK;		} else if (dccp_ack_pending(sk))			dcb->dccpd_type = DCCP_PKT_DATAACK;		else			dcb->dccpd_type = DCCP_PKT_DATA;		err = dccp_transmit_skb(sk, skb);		ccid_hc_tx_packet_sent(dp->dccps_hc_tx_ccid, sk, 0, len);	}	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ffa29347dfbc158d1f47f5925324a6f5713659c1/output.c/buggy/net/dccp/output.c