Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/cxgbe/cxgbei/cxgbei.c
Show First 20 Lines • Show All 406 Lines • ▼ Show 20 Lines | #endif | ||||
icc = toep->ulpcb; | icc = toep->ulpcb; | ||||
if (__predict_false(icc == NULL || sb->sb_state & SBS_CANTRCVMORE)) { | if (__predict_false(icc == NULL || sb->sb_state & SBS_CANTRCVMORE)) { | ||||
CTR5(KTR_CXGBE, | CTR5(KTR_CXGBE, | ||||
"%s: tid %u, excess rx (%d bytes), icc %p, sb_state 0x%x", | "%s: tid %u, excess rx (%d bytes), icc %p, sb_state 0x%x", | ||||
__func__, tid, pdu_len, icc, sb->sb_state); | __func__, tid, pdu_len, icc, sb->sb_state); | ||||
SOCKBUF_UNLOCK(sb); | SOCKBUF_UNLOCK(sb); | ||||
INP_WUNLOCK(inp); | INP_WUNLOCK(inp); | ||||
CURVNET_SET(so->so_vnet); | |||||
NET_EPOCH_ENTER(et); | NET_EPOCH_ENTER(et); | ||||
INP_WLOCK(inp); | INP_WLOCK(inp); | ||||
tp = tcp_drop(tp, ECONNRESET); | tp = tcp_drop(tp, ECONNRESET); | ||||
if (tp) | if (tp) | ||||
INP_WUNLOCK(inp); | INP_WUNLOCK(inp); | ||||
NET_EPOCH_EXIT(et); | NET_EPOCH_EXIT(et); | ||||
CURVNET_RESTORE(); | |||||
icl_cxgbei_conn_pdu_free(NULL, ip); | icl_cxgbei_conn_pdu_free(NULL, ip); | ||||
#ifdef INVARIANTS | #ifdef INVARIANTS | ||||
toep->ulpcb2 = NULL; | toep->ulpcb2 = NULL; | ||||
#endif | #endif | ||||
return (0); | return (0); | ||||
} | } | ||||
MPASS(icc->icc_signature == CXGBEI_CONN_SIGNATURE); | MPASS(icc->icc_signature == CXGBEI_CONN_SIGNATURE); | ||||
▲ Show 20 Lines • Show All 398 Lines • Show Last 20 Lines |