Page MenuHomeFreeBSD

D29302.diff
No OneTemporary

D29302.diff

diff --git a/sys/dev/cxgbe/cxgbei/icl_cxgbei.c b/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
--- a/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
+++ b/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
@@ -369,6 +369,7 @@
void
icl_cxgbei_conn_pdu_queue(struct icl_conn *ic, struct icl_pdu *ip)
{
+ struct epoch_tracker et;
struct icl_cxgbei_conn *icc = ic_to_icc(ic);
struct icl_cxgbei_pdu *icp = ip_to_icp(ip);
struct socket *so = ic->ic_socket;
@@ -397,6 +398,8 @@
* already.
*/
inp = sotoinpcb(so);
+ CURVNET_SET(toep->vnet);
+ NET_EPOCH_ENTER(et);
INP_WLOCK(inp);
if (__predict_false(inp->inp_flags & (INP_DROPPED | INP_TIMEWAIT)) ||
__predict_false((toep->flags & TPF_ATTACHED) == 0))
@@ -406,6 +409,8 @@
t4_push_pdus(icc->sc, toep, 0);
}
INP_WUNLOCK(inp);
+ NET_EPOCH_EXIT(et);
+ CURVNET_RESTORE();
}
static struct icl_conn *

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 16, 3:50 AM (20 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14652719
Default Alt Text
D29302.diff (832 B)

Event Timeline