Index: sys/netinet/tcp_syncache.c =================================================================== --- sys/netinet/tcp_syncache.c +++ sys/netinet/tcp_syncache.c @@ -1226,7 +1226,8 @@ &tfo_response_cookie); tfo_cookie_valid = (result > 0); tfo_response_cookie_valid = (result >= 0); - } else + } + if (!tfo_cookie_valid) atomic_subtract_int(tp->t_tfo_pending, 1); } #endif @@ -1275,8 +1276,10 @@ SCH_LOCK_ASSERT(sch); if (sc != NULL) { #ifdef TCP_RFC7413 - if (tfo_cookie_valid) + if (tfo_cookie_valid) { + atomic_subtract_int(tp->t_tfo_pending, 1); INP_WUNLOCK(inp); + } #endif TCPSTAT_INC(tcps_sc_dupsyn); if (ipopts) {