summaryrefslogtreecommitdiffstats
path: root/src/target/firmware
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2023-10-13 20:27:14 +0700
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2023-10-16 14:10:21 +0700
commita6d0a3e17002598d973c2a887b8f5d219b252943 (patch)
treedbd73e68ef67f19969adccc460ae985b617e633b /src/target/firmware
parent7286560a33a8614dc09cd1a3afd3bd2144167921 (diff)
firmware/layer1: emit TRAFFIC.ind even if B_BFI is set
Even if the DSP marks a traffic frame as bad (B_BFI), we still want to deliver something to the upper layers, just like we do for FACCH. Change-Id: I559793a3506089b1c1758ee7022cceb7753afb30 Related: OS#4396
Diffstat (limited to 'src/target/firmware')
-rw-r--r--src/target/firmware/layer1/prim_tch.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/target/firmware/layer1/prim_tch.c b/src/target/firmware/layer1/prim_tch.c
index fb7ebf40..c6fbddd3 100644
--- a/src/target/firmware/layer1/prim_tch.c
+++ b/src/target/firmware/layer1/prim_tch.c
@@ -313,8 +313,6 @@ skip_rx_facch:
goto skip_rx_traffic;
if (~traffic_buf[0] & (1 << B_BLUD))
goto skip_rx_traffic;
- if (~traffic_buf[0] & (1 << B_BFI))
- goto skip_rx_traffic;
/* Allocate msgb */
/* FIXME: we actually want all allocation out of L1S! */
@@ -341,6 +339,8 @@ skip_rx_facch:
else
dl->num_biterr = num_biterr;
+ dl->fire_crc = ((traffic_buf[0] & 0xffff) & ((1 << B_FIRE1) | (1 << B_FIRE0))) >> B_FIRE0;
+
/* Update rx level for pm report */
pu_update_rx_level(dl->rx_level);