/* wcn_core_dump_flush - Fulsh dump data and reset core dump sys * * Retunr 0 if success, else error code */ INT32 wcn_core_dump_flush(INT32 rst) { PUINT8 pbuf = NULL; INT32 len = 0; if (!g_core_dump) { STP_DBG_ERR_FUNC("invalid pointer!\n"); return -1; } wcn_core_dump_out(g_core_dump, &pbuf, &len); STP_DBG_INFO_FUNC("buf 0x%08x, len %d\n", (unsigned int)pbuf, len); // show coredump end info on UI //osal_dbg_assert_aee("MT662x f/w coredump end", "MT662x firmware coredump ends"); aee_kernel_dal_show("MT662x coredump end\n"); // call AEE driver API aed_combo_exception(NULL, 0, (const int*)pbuf, len, (const char*)g_core_dump->info); // reset wcn_core_dump_reset(g_core_dump, STP_CORE_DUMP_TIMEOUT); return 0; }
/* wcn_core_dump_flush - Fulsh dump data and reset core dump sys * * Retunr 0 if success, else error code */ INT32 wcn_core_dump_flush(INT32 rst) { PUINT8 pbuf = NULL; INT32 len = 0; INT32 ret = 0; if (!g_core_dump) { STP_DBG_ERR_FUNC("invalid pointer!\n"); return -1; } wcn_core_dump_out(g_core_dump, &pbuf, &len); STP_DBG_INFO_FUNC("buf 0x%08x, len %d\n", (unsigned int)pbuf, len); // show coredump end info on UI //osal_dbg_assert_aee("MT662x f/w coredump end", "MT662x firmware coredump ends"); #if WMT_PLAT_ALPS aee_kernel_dal_show("MT662x coredump end\n"); ret = stp_dbg_set_fw_info(pbuf, 512, STP_FW_ASSERT_ISSUE); if (ret) { STP_DBG_ERR_FUNC("set fw issue infor fail(%d),maybe fw warm reset...\n", ret); stp_dbg_set_fw_info("Fw Warm reset", osal_strlen("Fw Warm reset"), STP_FW_WARM_RST_ISSUE); } // call AEE driver API aed_combo_exception(NULL, 0, (const int*)pbuf, len, (const char*)g_core_dump->info); #endif // reset wcn_core_dump_reset(g_core_dump, STP_CORE_DUMP_TIMEOUT); return 0; }