summaryrefslogtreecommitdiff
path: root/util/spkmodem_decode
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2026-03-13 01:42:41 +0000
committerLeah Rowe <leah@libreboot.org>2026-03-26 06:59:40 +0000
commit9e94cc017a79b33a6907053b8893aeb2dcb52483 (patch)
treef06b48672158954b98351789340a8add0eaaf890 /util/spkmodem_decode
parent9d24b78340f49a2ee6a6c990128292914417e83b (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>
Diffstat (limited to 'util/spkmodem_decode')
-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 04c8102f..7d45c3b3 100644
--- a/util/spkmodem_decode/spkmodem-decode.c
+++ b/util/spkmodem_decode/spkmodem-decode.c
@@ -390,8 +390,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;
}
/*