SI13: Make sure egprs_supported field is always updated

If "bts->gprs.mode" was changed dynamically at runtime (VTY or CTRL), it
could happen that the egprs_supported was kept as "1" if the dynamic
change was EGPRS->GPRS.

In summary, if EGPRS support was set, it couldn't be unset until BSC was
restarted.

Related: SYS#5894
Change-Id: Id2c2319044da474642c4cc710baa27cfee4fb592
This commit is contained in:
Pau Espin 2022-03-18 19:44:22 +01:00
parent 6dec88682f
commit 4501ed413c
1 changed files with 4 additions and 1 deletions

View File

@ -1306,13 +1306,16 @@ int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type)
switch (bts->gprs.mode) {
case BTS_GPRS_EGPRS:
si_info.gprs_ind.present = 1;
si13_default.cell_opts.ext_info.egprs_supported = 1;
/* fallthrough */
break;
case BTS_GPRS_GPRS:
si_info.gprs_ind.present = 1;
si13_default.cell_opts.ext_info.egprs_supported = 0;
break;
case BTS_GPRS_NONE:
si_info.gprs_ind.present = 0;
si13_default.cell_opts.ext_info.egprs_supported = 0;
break;
}