diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2012-01-02 02:21:19 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2012-01-02 02:21:19 +0100 |
commit | c2b823faf07bc5614feadb7aecf49ee84d43d17e (patch) | |
tree | 89d7339f6c7949de91078372435fe74b2217f8b6 /src/host/layer23 | |
parent | 5e1765c33216f084c83f96ab5745e4b3651d1e17 (diff) |
layer23/mobile: Fixed cell re-selection after loosing signal
Test showed that loosing the signal in dedicated mode caused a complete
rescann of all cells. By keeping the cell selected, the process can use
the neighbour cell informations to do a quick search for the best cell
afterwards.
Diffstat (limited to 'src/host/layer23')
-rw-r--r-- | src/host/layer23/src/mobile/gsm322.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c index 9384743c..c5b87b28 100644 --- a/src/host/layer23/src/mobile/gsm322.c +++ b/src/host/layer23/src/mobile/gsm322.c @@ -3024,9 +3024,10 @@ int gsm322_l1_signal(unsigned int subsys, unsigned int signal, cs = &ms->cellsel; LOGP(DCS, LOGL_INFO, "Loss of CCCH.\n"); if (cs->selected && cs->sel_arfcn == cs->arfcn) { - LOGP(DCS, LOGL_INFO, "Unselect cell due to loss\n"); - /* unset selected cell */ - gsm322_unselect_cell(cs); + /* do not unselect cell */ + LOGP(DCS, LOGL_INFO, "Keep cell selected after loss, " + "so we can use the Neighbour cell information " + "for cell re-selection.\n"); } stop_cs_timer(cs); gsm322_cs_loss(cs); |