diff --git a/qdf/Kbuild b/qdf/Kbuild index ad992f7eafd5..403b383f6f67 100644 --- a/qdf/Kbuild +++ b/qdf/Kbuild @@ -53,6 +53,7 @@ src/qdf_flex_mem.o \ src/qdf_parse.o \ src/qdf_str.o \ src/qdf_types.o \ +src/qdf_platform.o \ $(HOST_CMN_CONVG_NLINK)/src/wlan_nlink_srv.o \ $(HOST_CMN_CONVG_SRC)/qal/linux/src/qal_devcfg.o \ $(HOST_CMN_CONVG_SRC)/qal/linux/src/qal_vbus_dev.o \ diff --git a/qdf/inc/qdf_platform.h b/qdf/inc/qdf_platform.h index 1c6ae8642d17..ad13d5177cc8 100644 --- a/qdf/inc/qdf_platform.h +++ b/qdf/inc/qdf_platform.h @@ -82,7 +82,11 @@ bool qdf_is_fw_down(void); void qdf_register_self_recovery_callback(qdf_self_recovery_callback callback); /** - * qdf_trigger_self_recovery () - tirgger self recovery + * qdf_trigger_self_recovery () - trigger self recovery + * + * Call API only in case of fatal error, + * if self_recovery_cb callback is registered, injcets fw crash and recovers + * else raises QDF_BUG() * * Return: None */ diff --git a/qdf/src/qdf_platform.c b/qdf/src/qdf_platform.c index ff8ae282b447..87336949f254 100644 --- a/qdf/src/qdf_platform.c +++ b/qdf/src/qdf_platform.c @@ -61,6 +61,8 @@ void __qdf_trigger_self_recovery(const char *func, const uint32_t line) { if (self_recovery_cb) self_recovery_cb(QDF_REASON_UNSPECIFIED, func, line); + else + QDF_DEBUG_PANIC_FL(func, line, ""); } qdf_export_symbol(__qdf_trigger_self_recovery); diff --git a/target_if/regulatory/src/target_if_reg.c b/target_if/regulatory/src/target_if_reg.c index e9eb019aef68..9a1371bb29cc 100644 --- a/target_if/regulatory/src/target_if_reg.c +++ b/target_if/regulatory/src/target_if_reg.c @@ -30,9 +30,7 @@ #include #include #include -#ifdef CONFIG_MCL #include -#endif static inline uint32_t get_chan_list_cc_event_id(void) { @@ -105,12 +103,10 @@ static int tgt_reg_chan_list_update_handler(ol_scn_t handle, TARGET_IF_ENTER(); -#ifdef CONFIG_MCL if (qdf_is_fw_down()) { target_if_debug("ignore chan list update evt in ssr"); return 0; } -#endif psoc = target_if_get_psoc_from_scn_hdl(handle); if (!psoc) { diff --git a/umac/cmn_services/serialization/src/wlan_serialization_utils.c b/umac/cmn_services/serialization/src/wlan_serialization_utils.c index 5fc615d8d5b1..2c90222ac457 100644 --- a/umac/cmn_services/serialization/src/wlan_serialization_utils.c +++ b/umac/cmn_services/serialization/src/wlan_serialization_utils.c @@ -28,9 +28,7 @@ #include "wlan_objmgr_pdev_obj.h" #include "qdf_mc_timer.h" #include "wlan_utility.h" -#ifdef CONFIG_MCL #include "qdf_platform.h" -#endif QDF_STATUS wlan_serialization_put_back_to_global_list(qdf_list_t *queue, @@ -153,17 +151,10 @@ static QDF_STATUS wlan_serialization_timer_destroy( return status; } -#ifdef CONFIG_MCL static void wlan_serialization_non_scan_timeout_action(void) { qdf_trigger_self_recovery(); } -#else -static void wlan_serialization_non_scan_timeout_action(void) -{ - QDF_BUG(0); -} -#endif /** * wlan_serialization_generic_timer_callback() - timer callback when timer fire