diff options
author | Andreas.Eversberg <jolly@eversberg.eu> | 2010-10-15 18:50:25 +0000 |
---|---|---|
committer | Andreas.Eversberg <jolly@eversberg.eu> | 2010-10-15 18:50:25 +0000 |
commit | 19807191b6b7407900971b3af533611661ff623d (patch) | |
tree | 5f2e4e316136267722063caa0cca5a9fd7a63777 /src/host/layer23/src/mobile | |
parent | 1dd14c0b26e0427f63b36eb5aeb259e1cfb4f8e9 (diff) |
[layer23] If the mobile sticks to a cell, RXLEV_MIN is ignored
Diffstat (limited to 'src/host/layer23/src/mobile')
-rw-r--r-- | src/host/layer23/src/mobile/gsm322.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c index 2abaa566..07e67d36 100644 --- a/src/host/layer23/src/mobile/gsm322.c +++ b/src/host/layer23/src/mobile/gsm322.c @@ -1496,6 +1496,7 @@ static int gsm322_am_no_cell_found(struct osmocom_ms *ms, struct msgb *msg) static int gsm322_cs_select(struct osmocom_ms *ms, int any, int plmn_allowed) { struct gsm322_cellsel *cs = &ms->cellsel; + struct gsm_settings *set = &ms->settings; struct gsm_subscriber *subscr = &ms->subscr; struct gsm48_sysinfo *s; int i, found = -1, power = 0; @@ -1532,7 +1533,8 @@ static int gsm322_cs_select(struct osmocom_ms *ms, int any, int plmn_allowed) /* check C1 criteria not fullfilled */ // TODO: C1 is also dependant on power class and max power - if (rxlev2dbm(cs->list[i].rxlev) < s->rxlev_acc_min_db) { + if (rxlev2dbm(cs->list[i].rxlev) < s->rxlev_acc_min_db + && !set->stick) { LOGP(DCS, LOGL_INFO, "Skip frequency %d: C1 criteria " "not met. (rxlev %s < min %d)\n", i, gsm_print_rxlev(cs->list[i].rxlev), |