diff options
Diffstat (limited to 'src/common/l1sap.c')
-rw-r--r-- | src/common/l1sap.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 90f045a2..50bd612d 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1203,7 +1203,12 @@ static int l1sap_ph_rach_ind(struct gsm_bts_trx *trx, if (rach_ind->rssi >= btsb->load.rach.busy_thresh) btsb->load.rach.busy++; - /* FIXME: RACH filtering due to BER limit */ + /* check for RACH exceeding BER threshold (ghost RACH) */ + if (rach_ind->ber10k > btsb->max_ber10k_rach) { + DEBUGPFN(DL1C, rach_ind->fn, "ignoring RACH request: %u > %u (max BER)\n", + rach_ind->ber10k, btsb->max_ber10k_rach); + return 0; + } /* increment number of RACH slots with valid non-handover RACH burst */ btsb->load.rach.access++; |