summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2026-03-13 01:42:41 +0000
committerLeah Rowe <leah@libreboot.org>2026-03-13 01:42:41 +0000
commit05f59ac7c62b15f61f191cb4a7022f44667f2f5f (patch)
tree9acbe7ba9e130f9a0977fad0ab1aab18922bb6ef
parent5bb99f636ad194d76714d59499bf844755281f1c (diff)
spkmodem-decode: enforce calibrated seperator range
we weren't actually using what we calculated. this patch fixes that, thus preventing random noise / microphone clicks, random artifacts and such from being treated as real frames (the purpose of is_valid_signal is partly noise suppression). Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r--util/spkmodem_decode/spkmodem-decode.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/util/spkmodem_decode/spkmodem-decode.c b/util/spkmodem_decode/spkmodem-decode.c
index 36b424b8..af60f997 100644
--- a/util/spkmodem_decode/spkmodem-decode.c
+++ b/util/spkmodem_decode/spkmodem-decode.c
@@ -386,8 +386,14 @@ select_separator_tone(struct decoder_state *st)
static int
is_valid_signal(struct decoder_state *st)
{
- return (st->freq_separator > 0 &&
- st->freq_data > 0);
+ if (st->freq_data <= 0)
+ return 0;
+
+ if (st->freq_separator < st->sep_min ||
+ st->freq_separator > st->sep_max)
+ return 0;
+
+ return 1;
}
/*