From 61e5623ad3b75635a1007519f1f32215b521f6f8 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sun, 8 Aug 2021 00:17:06 +0300 Subject: [PATCH] DMRSlot: reset m_rfState after rejecting rf activity --- DMRSlot.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/DMRSlot.cpp b/DMRSlot.cpp index 1f405ca..af29350 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -224,12 +224,14 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) if (!CDMRAccessControl::validateSrcId(srcId)) { LogMessage("DMR Slot %u, RF user %u rejected", m_slotNo, srcId); delete lc; + m_rfState = RS_RF_LISTENING; return false; } if (!CDMRAccessControl::validateTGId(m_slotNo, flco == FLCO_GROUP, dstId)) { LogMessage("DMR Slot %u, RF user %u rejected for using TG %u", m_slotNo, srcId, dstId); delete lc; + m_rfState = RS_RF_LISTENING; return false; } @@ -383,11 +385,13 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) if (!CDMRAccessControl::validateSrcId(srcId)) { LogMessage("DMR Slot %u, RF user %u rejected", m_slotNo, srcId); + m_rfState = RS_RF_LISTENING; return false; } if (!CDMRAccessControl::validateTGId(m_slotNo, gi, dstId)) { LogMessage("DMR Slot %u, RF user %u rejected for using TG %u", m_slotNo, srcId, dstId); + m_rfState = RS_RF_LISTENING; return false; } @@ -454,11 +458,13 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) if (srcId != 0U || dstId != 0U) { if (!CDMRAccessControl::validateSrcId(srcId)) { LogMessage("DMR Slot %u, RF user %u rejected", m_slotNo, srcId); + m_rfState = RS_RF_LISTENING; return false; } if (!CDMRAccessControl::validateTGId(m_slotNo, gi, dstId)) { LogMessage("DMR Slot %u, RF user %u rejected for using TG %u", m_slotNo, srcId, dstId); + m_rfState = RS_RF_LISTENING; return false; } } @@ -793,12 +799,14 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) if (!CDMRAccessControl::validateSrcId(srcId)) { LogMessage("DMR Slot %u, RF user %u rejected", m_slotNo, srcId); delete lc; + m_rfState = RS_RF_LISTENING; return false; } if (!CDMRAccessControl::validateTGId(m_slotNo, flco == FLCO_GROUP, dstId)) { LogMessage("DMR Slot %u, RF user %u rejected for using TG %u", m_slotNo, srcId, dstId); delete lc; + m_rfState = RS_RF_LISTENING; return false; }