# HG changeset patch # User Mychaela Falconia # Date 1445669648 0 # Node ID ad6f1504465d961f052d08b47e82193d421efddf # Parent 7c247e86636942cf0f1af37402ea65440b8eb337 l1_{dis,en}able_dsp_trace functions: breakage-causing LoCosto-ism fixed diff -r 7c247e866369 -r ad6f1504465d gsm-fw/L1/cfile/l1_trace.c --- a/gsm-fw/L1/cfile/l1_trace.c Sat Oct 24 06:26:45 2015 +0000 +++ b/gsm-fw/L1/cfile/l1_trace.c Sat Oct 24 06:54:08 2015 +0000 @@ -17174,7 +17174,18 @@ // save trace type configuration, set re-init buffer (0x1000) and enable DSP trace (0x8000) trace_info.dsptrace_handler_globals.dsp_trace_level_copy = dsp_ndb_ptr->d_debug_trace_type; - dsp_ndb_ptr->d_debug_trace_type = (API)0x9000; // 0x8000 Disable DSP Trace and 0x1000 Re-init Trace buffer + dsp_ndb_ptr->d_debug_trace_type = (API)0x8000; // 0x8000 Disable DSP Trace and 0x1000 Re-init Trace buffer + + /* + * FreeCalypso note: the LoCosto version of L1 was writing 0x9000 into + * dsp_ndb_ptr->d_debug_trace_type. When we got l1_dyn_dwl code + * integrated, we started getting DSP erratic behaviour when trying + * to make a voice call (probably when going into TCH). TCS211 version + * of l1_disable_DSP_trace() writes 0x8000 here instead. Changing + * the code here to write 0x8000 instead of 0x9000 fixed that erratic + * behaviour. Evidently this "re-init buffer" 0x1000 bit must be a + * LoCosto-ism that does not apply correctly to the Calypso. + */ // Allocate DEBUG message. msg = os_alloc_sig(sizeof(T_TRACE_INFO)); @@ -17231,9 +17242,14 @@ // restore trace type configuration, set re-init buffer (0x1000) and enable DSP trace (0x8000) dsp_ndb_ptr->d_debug_buffer_size = C_DEBUG_BUFFER_SIZE; - dsp_ndb_ptr->d_debug_trace_type = (API)trace_info.dsptrace_handler_globals.dsp_trace_level_copy | 0x9000; + dsp_ndb_ptr->d_debug_trace_type = (API)trace_info.dsptrace_handler_globals.dsp_trace_level_copy | 0x8000; trace_info.dsptrace_handler_globals.dsp_trace_level_copy = 0x0000; + /* + * FreeCalypso note: same change from 0x9000 to 0x8000 above + * as in l1_disable_dsp_trace(). + */ + // Allocate DEBUG message. msg = os_alloc_sig(sizeof(T_TRACE_INFO)); DEBUGMSG(status,NU_ALLOC_ERR)