summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas.Eversberg <jolly@eversberg.eu>2010-09-29 13:28:04 +0000
committerAndreas.Eversberg <jolly@eversberg.eu>2010-09-29 13:28:04 +0000
commit6d2625ce0cb2e8f455493c9c4869b9e5ae0faba9 (patch)
tree1de633d1dfbc4af87fb3a9a5968743a148f0dec2
parent29268961432d5611d0fdbdf9e5c2d6982cc938f7 (diff)
[layer23] Added a workarround to ignore the first (invalid) PM result
-rw-r--r--src/host/layer23/src/mobile/gsm322.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c
index f312944c..114d6600 100644
--- a/src/host/layer23/src/mobile/gsm322.c
+++ b/src/host/layer23/src/mobile/gsm322.c
@@ -2436,8 +2436,14 @@ static int gsm322_l1_signal(unsigned int subsys, unsigned int signal,
return -EINVAL;
i = mr->band_arfcn & 1023;
rxlev = mr->rx_lev;
+ if ((cs->list[i].flags & GSM322_CS_FLAG_POWER)) {
+ LOGP(DCS, LOGL_ERROR, "Getting PM for frequency %d "
+ "twice. Overwriting the first! Please fix "
+ "prim_pm.c\n", i);
+ }
cs->list[i].rxlev = rxlev;
cs->list[i].flags |= GSM322_CS_FLAG_POWER;
+ cs->list[i].flags &= ~GSM322_CS_FLAG_SIGNAL;
/* if minimum level is reached or if we stick to a cell */
if (rxlev2dbm(rxlev) >= ms->support.min_rxlev_db
|| ms->settings.stick) {