Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rcar:logging: Fix forever assert recursion hang
Forever recursive occurring is at (4) in below snip of code. This patch updates source code of rcar_log_func to avoid this situation. ------------------------------------------------------------------------- # ifdef NDEBUG # define assert(expr) ((void)0) # else # define assert(expr) \ ((expr) ? (void)0 : _assert_trap(#expr, __FILE__, __LINE__, __func__))// (2) # endif _assert_trap() _assert_log(); EMSG_RAW() trace_printf() trace_vprintf(); // lib/libutils/ext/trace.c trace_ext_puts(const char *str) //core\arch\arm\plat-rcar\trace_ext.c log_debug_send(msg_block, msg_block_num); cpu_id = get_core_pos(); //core\arch\arm\plat-rcar\rcar_log_func.c /* * Foreign interrupts must be disabled before playing with current * core since we otherwise may be rescheduled to a different core. */ assert(thread_get_exceptions() & THREAD_EXCP_FOREIGN_INTR); //(4) return __get_core_pos(); ------------------------------------------------------------------------- Signed-off-by: Dien Pham <[email protected]>
- Loading branch information