From 05d939027b7a5474fab3e80d1d3172c7dd853c6d Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Sat, 13 Jun 2026 10:46:47 -0400 Subject: [PATCH] during network P25 voice calls, instead of dvmhost resetting the network watchdog every network frame only reset it when valid LDUs are processed, this should have the appropriate affect of applying the network watchdog and preventing a netState hang in a non-RS_NET_IDLE state if we never receive a network TDU to properly end a call; --- src/host/p25/Control.cpp | 2 -- src/host/p25/packet/Voice.cpp | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/host/p25/Control.cpp b/src/host/p25/Control.cpp index f982929f..aa5090e9 100644 --- a/src/host/p25/Control.cpp +++ b/src/host/p25/Control.cpp @@ -1602,8 +1602,6 @@ void Control::processNetwork() lsd.setLSD1(lsd1); lsd.setLSD2(lsd2); - m_networkWatchdog.start(); - if (m_debug) { Utils::dump(2U, "* !!! P25 Network Frame", data.get(), frameLength); } diff --git a/src/host/p25/packet/Voice.cpp b/src/host/p25/packet/Voice.cpp index f677a716..616f1fb0 100644 --- a/src/host/p25/packet/Voice.cpp +++ b/src/host/p25/packet/Voice.cpp @@ -1874,6 +1874,7 @@ void Voice::writeNet_LDU1() } } + m_p25->m_networkWatchdog.start(); m_hadVoice = true; m_p25->m_netState = RS_NET_AUDIO; m_p25->m_netLastDstId = dstId; @@ -2087,6 +2088,8 @@ void Voice::writeNet_LDU2() return; } + m_p25->m_networkWatchdog.start(); + uint8_t mi[MI_LENGTH_BYTES]; control.getMI(mi);