Index: sys/netinet/tcp_input.c =================================================================== RCS file: /mount/openbsd/cvs/src/sys/netinet/tcp_input.c,v retrieving revision 1.368 diff -u -p -u -p -r1.368 tcp_input.c --- sys/netinet/tcp_input.c 16 Apr 2021 12:08:25 -0000 1.368 +++ sys/netinet/tcp_input.c 20 Jul 2021 15:58:33 -0000 @@ -176,8 +176,7 @@ do { \ struct ifnet *ifp = NULL; \ if (m && (m->m_flags & M_PKTHDR)) \ ifp = if_get(m->m_pkthdr.ph_ifidx); \ - if (TCP_TIMER_ISARMED(tp, TCPT_DELACK) || \ - (tcp_ack_on_push && (tiflags) & TH_PUSH) || \ + if ((tcp_ack_on_push && (tiflags) & TH_PUSH) || \ (ifp && (ifp->if_flags & IFF_LOOPBACK))) \ tp->t_flags |= TF_ACKNOW; \ else \ Index: sys/netinet/tcp_output.c =================================================================== RCS file: /mount/openbsd/cvs/src/sys/netinet/tcp_output.c,v retrieving revision 1.130 diff -u -p -u -p -r1.130 tcp_output.c --- sys/netinet/tcp_output.c 8 Feb 2021 19:37:15 -0000 1.130 +++ sys/netinet/tcp_output.c 20 Jul 2021 15:58:33 -0000 @@ -398,6 +398,8 @@ again: goto send; if (2 * adv >= (long) so->so_rcv.sb_hiwat) goto send; + if (so->so_rcv.sb_cc == 0) + goto send; } /*