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.
This commit is contained in:
Andreas Eversberg 2012-01-02 02:21:19 +01:00
parent 5e1765c332
commit c2b823faf0
1 changed files with 4 additions and 3 deletions

View File

@ -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);