From 31b8438b1afdb0d4a4c3ad444f4f8d2dfeeafc34 Mon Sep 17 00:00:00 2001 From: mcc45tr Date: Thu, 3 Sep 2026 20:32:29 +0300 Subject: [PATCH] libssc: treat zero placement as unspecified Qualcomm registry payloads describe physical placement with a 3x4 array. On Nabu, lsm6dso_0_platform.placement intentionally contains twelve zeroes while the sensor orientation is described separately by the registry's .orient group. The SSC service consequently exports nine zero coefficients. An all-zero placement still needs the identity fallback, but it is not a malformed response and must not produce a warning on every sensor discovery. Keep warnings for incomplete numeric arrays, report the unspecified placement at debug level, and retain the exact identity behavior. Signed-off-by: mcc45tr --- src/libssc-sensor.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libssc-sensor.c b/src/libssc-sensor.c index 20c2665..e9afefd 100644 --- a/src/libssc-sensor.c +++ b/src/libssc-sensor.c @@ -437 +437,4 @@ report_received (SSCClient *self, guint32 msg_id, guint64 uid_high, guint64 uid_ - g_warning ("Mount matrix provided by firmware is incomplete or all 0, falling back to identity matrix!"); + if (parsed_values != 9) + g_warning ("SSC placement matrix is incomplete, falling back to identity matrix"); + else + g_debug ("SSC placement matrix is unspecified (all zero), using identity matrix"); -- 2.55.0