FreeBSD/sys/dev/cxgbe/iw_cxgbe/cm.c
/*
 * Upcall from the adapter indicating data has been transmitted.
 * For us its just the single MPA request or reply.  We can now free
 * the skb holding the mpa message.
 */
Upcall from the adapter indicating data has been transmitted.
For us its just the single MPA request or reply.  We can now free
the skb holding the mpa message.
Upcall from the adapter indicating data has been transmitted . For us its just the single MPA request or reply . We can now free the skb holding the mpa message .
int c4iw_reject_cr(struct iw_cm_id *cm_id, const void *pdata, u8 pdata_len)
{
	int err;
	struct c4iw_ep *ep = to_ep(cm_id);
	CTR2(KTR_IW_CXGBE, "%s:crcB %p", __func__, ep);
	int disconnect = 0;
	if (state_read(&ep->com) == DEAD) {
		CTR2(KTR_IW_CXGBE, "%s:crc1 %p", __func__, ep);
		c4iw_put_ep(&ep->com);
		return -ECONNRESET;
	}
	set_bit(ULP_REJECT, &ep->com.history);
	BUG_ON(state_read(&ep->com) != MPA_REQ_RCVD);
	if (mpa_rev == 0) {
		CTR2(KTR_IW_CXGBE, "%s:crc2 %p", __func__, ep);
		disconnect = 2;
	}
	else {
		CTR2(KTR_IW_CXGBE, "%s:crc3 %p", __func__, ep);
		err = send_mpa_reject(ep, pdata, pdata_len);
		err = soshutdown(ep->com.so, 3);
	}
	c4iw_put_ep(&ep->com);
	if (disconnect)
		err = c4iw_ep_disconnect(ep, disconnect == 2, GFP_KERNEL);
	CTR2(KTR_IW_CXGBE, "%s:crc4 %p", __func__, ep);
	return 0;
}
int c4iw_reject_cr ( struct iw_cm_id * cm_id , const void * pdata , u8 pdata_len ) { int err ; struct c4iw_ep * ep = to_ep ( cm_id ) ; CTR2 ( KTR_IW_CXGBE , " " , __func__ , ep ) ; int disconnect = 0 ; if ( state_read ( & ep -> com ) == DEAD ) { CTR2 ( KTR_IW_CXGBE , " " , __func__ , ep ) ; c4iw_put_ep ( & ep -> com ) ; return - ECONNRESET ; } set_bit ( ULP_REJECT , & ep -> com . history ) ; BUG_ON ( state_read ( & ep -> com ) != MPA_REQ_RCVD ) ; if ( mpa_rev == 0 ) { CTR2 ( KTR_IW_CXGBE , " " , __func__ , ep ) ; disconnect = 2 ; } else { CTR2 ( KTR_IW_CXGBE , " " , __func__ , ep ) ; err = send_mpa_reject ( ep , pdata , pdata_len ) ; err = soshutdown ( ep -> com . so , 3 ) ; } c4iw_put_ep ( & ep -> com ) ; if ( disconnect ) err = c4iw_ep_disconnect ( ep , disconnect == 2 , GFP_KERNEL ) ; CTR2 ( KTR_IW_CXGBE , " " , __func__ , ep ) ; return 0 ; }
Upcall from the adapter indicating data has been transmitted.
Upcall from the adapter indicating data has been transmitted .