Subscribing to UART events causes program restart


#1

Hi.

I have some issues with unexpected OAT application restart. I use UART Device Service to open UART2 port and get access to UART port events. In order to do that I fill sUartEvent_t structure and pass a pointer to it in event_handlers field of sUartSettings_t structure. To begin with I set handler to TX_COMPLETE event.
When the port is opened I send there some data and expect my handler to be called, but I get application restart instead.
Here is part of the code where sUartEvent_t structure is filled.

memset(&uart_events, 0, sizeof(uart_events));

    uart_events.op          = G_IOC_OP_SET;
    uart_events.valid_cb    = (eUartEvId_t)(UART_CB_ON_TX_COMPLETE);
    uart_events.user_data   = (void*)-1L;
    uart_events.cb_list[0].evt_hdl = (pGEvtNotif_t)OnTXC;
    uart_events.cb_list[0].user_data = NULL;

OnTXC is empty handler and is defined like this:

void OnTXC(void* p1, void* p2){ }

Program restart occurs when all data is transmitted through UART port. If I connect to the other side with terminal I can see incoming data.
If a NULL pointer is passed to “event_handlers” field of “sUartSettings_t” structyre program runs fine.

CPU: 2686H, FW: R73_00gg.Q2686H