diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-01-20 12:30:46 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-08 00:45:35 +0100 |
commit | 3b1c5537731cc63125f1b82c0e6149372a7fe0da (patch) | |
tree | 605a345a428f02b030fa80bacac681f5064f7e4a /src/tbf.cpp | |
parent | 9b3d7e015968bdb0a9f1a3642c1047d875d7049f (diff) |
edge: Work-around to use EGPRS if there was no DL RA Cap
If the downlink BSSGP didn't contain a RA Capabilities IE, both
MS class values are 0. The phone will send valid RA Caps later on.
Currently in that case, the downlink TBF is not established
if EGPRS is enabled.
Just force egprs_ms_class to 1 if EGPRS (only) is enabled.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/tbf.cpp')
-rw-r--r-- | src/tbf.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp index db63a08d..9f19c9b7 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -687,10 +687,13 @@ struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, int rc; if (egprs_ms_class == 0 && bts->egprs_enabled) { - LOGP(DRLCMAC, LOGL_NOTICE, - "Not accepting non-EGPRS phone in EGPRS-only mode\n"); - bts->bts->tbf_failed_egprs_only(); - return NULL; + if (ms_class > 0) { + LOGP(DRLCMAC, LOGL_NOTICE, + "Not accepting non-EGPRS phone in EGPRS-only mode\n"); + bts->bts->tbf_failed_egprs_only(); + return NULL; + } + egprs_ms_class = 1; } LOGP(DRLCMAC, LOGL_DEBUG, "********** TBF starts here **********\n"); |