From bac6d8c85df9d3856505bd4295d908ef4706c8b7 Mon Sep 17 00:00:00 2001 From: Yakun Xu Date: Thu, 2 Apr 2020 09:09:22 +0800 Subject: [PATCH] [mac] remove disable CSMA-CA on the last transmit (#4765) --- src/core/config/mac.h | 10 ---------- .../config/openthread-core-config-check.h | 11 ++++------- src/core/mac/sub_mac.cpp | 19 +------------------ 3 files changed, 5 insertions(+), 35 deletions(-) diff --git a/src/core/config/mac.h b/src/core/config/mac.h index 26c6ecd99..ae7798b29 100644 --- a/src/core/config/mac.h +++ b/src/core/config/mac.h @@ -172,16 +172,6 @@ #define OPENTHREAD_CONFIG_MAC_TX_NUM_BCAST 1 #endif -/** - * @def OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT - * - * Define as 1 to disable CSMA-CA on the last transmit attempt. - * - */ -#ifndef OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT -#define OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT 0 -#endif - /** * @def OPENTHREAD_CONFIG_MAC_STAY_AWAKE_BETWEEN_FRAGMENTS * diff --git a/src/core/config/openthread-core-config-check.h b/src/core/config/openthread-core-config-check.h index 506b0d628..2338fcf1a 100644 --- a/src/core/config/openthread-core-config-check.h +++ b/src/core/config/openthread-core-config-check.h @@ -59,9 +59,11 @@ * */ -#ifdef OPENTHREAD_CONFIG_DISABLE_CCA_ON_LAST_ATTEMPT +#if defined(OPENTHREAD_CONFIG_DISABLE_CCA_ON_LAST_ATTEMPT) || \ + defined(OPENTHREAD_CONFIG_DISABLE_CSMA_CA_ON_LAST_ATTEMPT) || \ + defined(OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT) #error \ - "OPENTHREAD_CONFIG_DISABLE_CCA_ON_LAST_ATTEMPT was replaced by OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT." + "OPENTHREAD_CONFIG_DISABLE_CCA_ON_LAST_ATTEMPT, OPENTHREAD_CONFIG_DISABLE_CSMA_CA_ON_LAST_ATTEMPT and OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT were removed." #endif #ifdef OPENTHREAD_CONFIG_MAX_TX_ATTEMPTS_DIRECT @@ -394,11 +396,6 @@ #error "OPENTHREAD_CONFIG_ENABLE_DYNAMIC_MPL_INTERVAL was replaced by OPENTHREAD_CONFIG_MPL_DYNAMIC_INTERVAL_ENABLE." #endif -#ifdef OPENTHREAD_CONFIG_DISABLE_CSMA_CA_ON_LAST_ATTEMPT -#error \ - "OPENTHREAD_CONFIG_DISABLE_CSMA_CA_ON_LAST_ATTEMPT was replaced by OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT." -#endif - #ifdef OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES #error "OPENTHREAD_CONFIG_ENABLE_LONG_ROUTES was replaced by OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE." #endif diff --git a/src/core/mac/sub_mac.cpp b/src/core/mac/sub_mac.cpp index e84fc4f8b..54e600cc2 100644 --- a/src/core/mac/sub_mac.cpp +++ b/src/core/mac/sub_mac.cpp @@ -231,14 +231,6 @@ void SubMac::StartCsmaBackoff(void) VerifyOrExit(ShouldHandleCsmaBackOff(), BeginTransmit()); -#if OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT - if ((mTransmitRetries > 0) && (mTransmitRetries == mTransmitFrame.GetMaxFrameRetries())) - { - BeginTransmit(); - ExitNow(); - } -#endif - if (backoffExponent > kMaxBE) { backoffExponent = kMaxBE; @@ -274,16 +266,7 @@ void SubMac::BeginTransmit(void) VerifyOrExit(mState == kStateCsmaBackoff); -#if OPENTHREAD_CONFIG_MAC_DISABLE_CSMA_CA_ON_LAST_ATTEMPT - if ((mTransmitRetries > 0) && (mTransmitRetries == mTransmitFrame.GetMaxFrameRetries())) - { - mTransmitFrame.SetCsmaCaEnabled(false); - } - else -#endif - { - mTransmitFrame.SetCsmaCaEnabled(true); - } + mTransmitFrame.SetCsmaCaEnabled(true); if ((mRadioCaps & OT_RADIO_CAPS_SLEEP_TO_TX) == 0) {