* INTC Contribution to the O-RAN F Release for O-DU Low
[o-du/phy.git] / fapi_5g / source / api / fapi2mac / p5 / nr5g_fapi_proc_shutdown_resp.c
index ce7cfb1..f8996a7 100644 (file)
@@ -1,6 +1,6 @@
 /******************************************************************************
 *
-*   Copyright (c) 2019 Intel.
+*   Copyright (c) 2021 Intel.
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
@@ -22,8 +22,8 @@
  *
  **/
 #include "nr5g_fapi_framework.h"
-#include "gnb_l1_l2_api.h"
 #include "nr5g_fapi_fapi2mac_api.h"
+#include "nr5g_fapi_fapi2phy_api.h"
 #include "nr5g_fapi_fapi2mac_p5_proc.h"
 #include "nr5g_fapi_stats.h"
 #include "nr5g_fapi_fapi2phy_p5_proc.h"
@@ -81,9 +81,9 @@ uint8_t nr5g_fapi_shutdown_response(
     if (p_iapi_resp->nStatus == SUCCESS) {
 #ifdef DEBUG_MODE
         p_list_elem =
-            nr5g_fapi_fapi2mac_create_api_list_elem(
-                    FAPI_VENDOR_EXT_SHUTDOWN_RESPONSE, 1,
-                    sizeof(fapi_vendor_ext_shutdown_res_t));
+            nr5g_fapi_fapi2mac_create_api_list_elem
+            (FAPI_VENDOR_EXT_SHUTDOWN_RESPONSE, 1,
+            sizeof(fapi_vendor_ext_shutdown_res_t));
         if (!p_list_elem) {
             NR5G_FAPI_LOG(ERROR_LOG, ("[SHUTDOWN.response] Unable to create "
                     "list element. Out of memory!!!"));
@@ -99,7 +99,7 @@ uint8_t nr5g_fapi_shutdown_response(
         p_fapi_resp->nStatus = p_iapi_resp->nStatus;
 
         /* Add element to send list */
-        nr5g_fapi_fapi2mac_add_api_to_list(phy_id, p_list_elem);
+        nr5g_fapi_fapi2mac_add_api_to_list(phy_id, p_list_elem, false);
 
         p_stats->fapi_stats.fapi_vext_shutdown_res++;
         NR5G_FAPI_LOG(INFO_LOG, ("[SHUTDOWN.response][%d]", phy_id));
@@ -119,11 +119,12 @@ uint8_t nr5g_fapi_shutdown_response(
         p_stop_ind->header.length = sizeof(fapi_stop_ind_t);
 
         /* Add element to send list */
-        nr5g_fapi_fapi2mac_add_api_to_list(phy_id, p_list_elem);
+        nr5g_fapi_fapi2mac_add_api_to_list(phy_id, p_list_elem, false);
 
         p_stats->fapi_stats.fapi_stop_ind++;
         NR5G_FAPI_LOG(INFO_LOG, ("[STOP.Indication][%d]", phy_id));
         p_phy_instance->shutdown_retries = 0;
+        nr5g_fapi_clean(p_phy_instance);
 #endif
     } else {
         /* PHY SHUTDOWN  Failed. Retrigger Shutdown request for 3 tries before
@@ -136,7 +137,8 @@ uint8_t nr5g_fapi_shutdown_response(
             fapi_req.sfn = 0;
             fapi_req.slot = 0;
             fapi_req.test_type = p_phy_instance->shutdown_test_type;
-            nr5g_fapi_shutdown_request(p_phy_instance, &fapi_req);
+            nr5g_fapi_shutdown_request(0, p_phy_instance, &fapi_req);
+            nr5g_fapi_fapi2phy_send_api_list(0);
         } else {
             NR5G_FAPI_LOG(ERROR_LOG, ("[SHUTDOWN.response] Invalid status "
                     "from PHY, hence triggering Error Indication"));
@@ -160,7 +162,7 @@ uint8_t nr5g_fapi_shutdown_response(
             p_fapi_error_ind->error_code = p_iapi_resp->nStatus;
 
             /* Add element to send list */
-            nr5g_fapi_fapi2mac_add_api_to_list(phy_id, p_list_elem);
+            nr5g_fapi_fapi2mac_add_api_to_list(phy_id, p_list_elem, false);
             p_stats->fapi_stats.fapi_error_ind++;
             p_phy_instance->shutdown_retries = 0;
             NR5G_FAPI_LOG(INFO_LOG, ("[Error.Indication][%d]", phy_id));