From 31f79c19aafc840b7627ab24fcfdc68f5214ca81 Mon Sep 17 00:00:00 2001 From: Samyuktha Karthikeyan Date: Fri, 6 Feb 2026 11:26:17 +0000 Subject: [PATCH 1/3] RDKB-36610 Debug Reason for change: for onboarding Test Procedure: Debug Priority: P0 Risks: Low Signed-off-by: Samyuktha Karthikeyan --- source/apps/sm/wifi_sm.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/source/apps/sm/wifi_sm.c b/source/apps/sm/wifi_sm.c index 3a181addc..869d0a5e6 100644 --- a/source/apps/sm/wifi_sm.c +++ b/source/apps/sm/wifi_sm.c @@ -49,7 +49,7 @@ typedef struct { static int sm_stats_to_monitor_set(wifi_app_t *app, bool enable); static void sm_events_subscribe(wifi_app_t *app); -client_assoc_stats_t client_assoc_stats[MAX_NUM_RADIOS]; +client_assoc_stats_t *client_assoc_stats = NULL; //allocate during app init int sm_survey_type_conversion(wifi_neighborScanMode_t *halw_scan_type, survey_type_t *app_stat_type, unsigned int conv_type) { @@ -878,6 +878,7 @@ static void sm_events_subscribe(wifi_app_t *app) int sm_init(wifi_app_t *app, unsigned int create_flag) { int rc = RETURN_OK; + int radios_count = getNumberRadios(); if (app_init(app, create_flag) != 0) { return RETURN_ERR; } @@ -888,7 +889,11 @@ int sm_init(wifi_app_t *app, unsigned int create_flag) app->data.u.sm_data.sm_stats_config_map = hash_map_create(); app->data.u.sm_data.report_tasks_map = hash_map_create(); - memset(client_assoc_stats, 0, sizeof(client_assoc_stats)); + client_assoc_stats = calloc(radios_count, sizeof(client_assoc_stats_t)); + if (client_assoc_stats == NULL) { + wifi_util_error_print(WIFI_SM, "%s:%d: calloc failed for client_assoc_stats\n", __func__, __LINE__); + return RETURN_ERR; + } rc = sm_report_init(app); wifi_util_info_print(WIFI_SM, "%s:%d: Init SM app %s\n", __func__, __LINE__, @@ -923,6 +928,10 @@ int sm_deinit(wifi_app_t *app) { sm_stats_to_monitor_set(app, false); free_sm_stats_config_map(app); + if (client_assoc_stats != NULL) { + free(client_assoc_stats); + client_assoc_stats = NULL; + } sm_report_deinit(app); return RETURN_OK; } From 92ea4e962a7589c05767b8e2b9f6dba44a590c82 Mon Sep 17 00:00:00 2001 From: Samyuktha Karthikeyan Date: Wed, 25 Feb 2026 11:38:13 +0000 Subject: [PATCH 2/3] RDKB-63687 Code development to reduce SM app memory usage Reason for change: To reduce the SM app memory usage Test Procedure: Debug Priority: P1 Risks: Low Signed-off-by: Samyuktha Karthikeyan --- source/apps/sm/wifi_sm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/apps/sm/wifi_sm.c b/source/apps/sm/wifi_sm.c index 869d0a5e6..79b634c97 100644 --- a/source/apps/sm/wifi_sm.c +++ b/source/apps/sm/wifi_sm.c @@ -895,6 +895,10 @@ int sm_init(wifi_app_t *app, unsigned int create_flag) return RETURN_ERR; } rc = sm_report_init(app); + if (rc != RETURN_OK) { + free(client_assoc_stats); + client_assoc_stats = NULL; + } wifi_util_info_print(WIFI_SM, "%s:%d: Init SM app %s\n", __func__, __LINE__, rc ? "failure" : "success"); From 6684ff6aaf55bb3f63cfd3b813bc5b97dc1b6e38 Mon Sep 17 00:00:00 2001 From: Samyuktha Karthikeyan Date: Wed, 25 Feb 2026 12:06:15 +0000 Subject: [PATCH 3/3] RDKB-63687 Code development to reduce SM app memory usage Reason for change: To reduce the SM app memory usage Test Procedure: Debug Priority: P1 Risks: Low Signed-off-by: Samyuktha Karthikeyan --- source/apps/sm/wifi_sm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/apps/sm/wifi_sm.c b/source/apps/sm/wifi_sm.c index 79b634c97..ba078851c 100644 --- a/source/apps/sm/wifi_sm.c +++ b/source/apps/sm/wifi_sm.c @@ -892,12 +892,18 @@ int sm_init(wifi_app_t *app, unsigned int create_flag) client_assoc_stats = calloc(radios_count, sizeof(client_assoc_stats_t)); if (client_assoc_stats == NULL) { wifi_util_error_print(WIFI_SM, "%s:%d: calloc failed for client_assoc_stats\n", __func__, __LINE__); + hash_map_destroy(app->data.u.sm_data.report_tasks_map); + app->data.u.sm_data.report_tasks_map = NULL; + free_sm_stats_config_map(app); return RETURN_ERR; } rc = sm_report_init(app); if (rc != RETURN_OK) { free(client_assoc_stats); client_assoc_stats = NULL; + hash_map_destroy(app->data.u.sm_data.report_tasks_map); + app->data.u.sm_data.report_tasks_map = NULL; + free_sm_stats_config_map(app); } wifi_util_info_print(WIFI_SM, "%s:%d: Init SM app %s\n", __func__, __LINE__,