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:
parent
6dec88682f
commit
4501ed413c
|
@ -1306,13 +1306,16 @@ int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type si_type)
|
||||||
|
|
||||||
switch (bts->gprs.mode) {
|
switch (bts->gprs.mode) {
|
||||||
case BTS_GPRS_EGPRS:
|
case BTS_GPRS_EGPRS:
|
||||||
|
si_info.gprs_ind.present = 1;
|
||||||
si13_default.cell_opts.ext_info.egprs_supported = 1;
|
si13_default.cell_opts.ext_info.egprs_supported = 1;
|
||||||
/* fallthrough */
|
break;
|
||||||
case BTS_GPRS_GPRS:
|
case BTS_GPRS_GPRS:
|
||||||
si_info.gprs_ind.present = 1;
|
si_info.gprs_ind.present = 1;
|
||||||
|
si13_default.cell_opts.ext_info.egprs_supported = 0;
|
||||||
break;
|
break;
|
||||||
case BTS_GPRS_NONE:
|
case BTS_GPRS_NONE:
|
||||||
si_info.gprs_ind.present = 0;
|
si_info.gprs_ind.present = 0;
|
||||||
|
si13_default.cell_opts.ext_info.egprs_supported = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue