From c2d341945f2cbf1994667238223650def4c1f54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Victor?= Date: Fri, 28 Aug 2020 13:32:51 +0200 Subject: [PATCH] Stop CH11 from spontaneously retransmitting last pkt by noting that the output buffer was consumed on transmission done. --- src/dvch11.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/dvch11.c b/src/dvch11.c index 7484b1d..bc7bda6 100644 --- a/src/dvch11.c +++ b/src/dvch11.c @@ -1081,6 +1081,13 @@ ch_ogo(register struct ch11 *ch) static void ch_odone(register struct ch11 *ch) { + struct dpchaos_s *dpc = (struct dpchaos_s *)ch->ch_dp.dp_adr; + + // note we consumed the buffer + if (ch->ch_sbuf) + ch->ch_optr = ch->ch_sbuf + dpc->dpchaos_outoff; // DPCHUDP_DATAOFFSET; + else + ch->ch_optr = NULL; REG(ch) |= CH_TDN; /* Note it's done */ ch->ch_outactf = TRUE; /* OK to send another */ ch_oint(ch); /* Send output interrupt! */