In ble_advertising.c, line 165, you can see such interesting code. I assume it is a copy/paste error:
if(p_advdata->p_tx_power_level != NULL)
{
m_advdata.p_tx_power_level = &m_tx_power_level;
m_advdata.p_tx_power_level = p_advdata->p_tx_power_level;
}
Probably better will be:
if(p_advdata->p_tx_power_level != NULL)
{
m_advdata.p_tx_power_level = &m_tx_power_level;
m_tx_power_level = *(p_advdata->p_tx_power_level);
}
What do you think Nordic?