From b1d2263726434a6f41fbea0f0f6bfd42bc795e09 Mon Sep 17 00:00:00 2001 From: Siwon Kang Date: Wed, 19 Apr 2017 09:30:28 +0900 Subject: [PATCH] netutils/wifi: reduce mutex scope in WiFiRegisterLinkCallback() Unnecessary large scope of mutex in WiFiRegisterLinkCallback() gets reduced. This also fixes deadlock issue caused by violation of nested function call by registered callback function. Change-Id: Ibb25a33784121a9f4a82aa61b4697358c298d8d0 Signed-off-by: Siwon Kang --- apps/netutils/wifi/slsi_wifi_api.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/netutils/wifi/slsi_wifi_api.c b/apps/netutils/wifi/slsi_wifi_api.c index ee73112..1a1424f 100644 --- a/apps/netutils/wifi/slsi_wifi_api.c +++ b/apps/netutils/wifi/slsi_wifi_api.c @@ -3425,17 +3425,18 @@ int8_t WiFiFreeScanResults(slsi_scan_info_t **scan_results) int8_t WiFiRegisterLinkCallback(slsi_network_link_callback_t link_up, slsi_network_link_callback_t link_down) { - ENTER_CRITICAL; int8_t result = SLSI_STATUS_ERROR; slsi_reason_t reason; memset(&reason, 0, sizeof(slsi_reason_t)); // + ENTER_CRITICAL; g_link_up = link_up; g_link_down = link_down; #ifdef CONFIG_SCSC_WLAN_AUTO_RECOVERY g_recovery_data.link_up = link_up; g_recovery_data.link_down = link_down; #endif + LEAVE_CRITICAL; if (g_running) { result = slsi_check_status(reason.ssid, &reason.ssid_len, reason.bssid); if (result == SLSI_STATUS_SUCCESS) { @@ -3448,7 +3449,6 @@ int8_t WiFiRegisterLinkCallback(slsi_network_link_callback_t link_up, slsi_netwo } else { result = SLSI_STATUS_SUCCESS; } - LEAVE_CRITICAL; return result; } -- 2.7.4