From nobody Tue Apr 7 13:47:49 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C369421FF47 for ; Wed, 25 Feb 2026 10:06:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772013973; cv=none; b=fpNgFUsbhvfYBgZRezNnBtp08nPEmIr63NTT6cyzgF4AdkK1cxzP7ZzKpePieWVCByMirxrKwzV2YJgDGv7F12OtxdiwbFp1tXo7BFFBPkSsXiHRPrS4ISlBSmhBHZk/qo4xAcwCdFnAbFB98h/YYqHT2fq8QbCHsxoocVdTyaE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772013973; c=relaxed/simple; bh=aBIjT8HJMfYZDveJouRj4sa520yQuhHwAmIb09eSjwY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=a03KRnhfE3y5D/FxHiSPRfRSiHGeemkEeWjFyku8ZTXHZk8Qmyqcqzqno7zae5WABzHwQLR3z03DvXCqBkebRq7EtpPfht6kZcG5YF3lDpO4XV+YcyrgebuExVLAJ4URGCNZmt4A17OgMXUwCBOUuku6NdLtwS7pUw9R/z4GviI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=SgHM6XT5; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="SgHM6XT5" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4836f4cbe0bso50080125e9.3 for ; Wed, 25 Feb 2026 02:06:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772013970; x=1772618770; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RHmHZviAuhOhpKSUpCtTa1iFHF2rU7EWwgoioRxdGwg=; b=SgHM6XT5pFoqvWC9pooRlwuTLXkLsEj84RZhCNOuaq98VaC/Y9QeelyJ459tfdHWm6 zezO24Uj2l3/wAiyHRqR/h+NclPsfew3RiNyTPw+doJ9p+DUQDBCOGuu/e6tF1cZfB7S WagBE/VS+PS7Bk5osuJLBFusGdAAA9pODxZlMMyRDKxNlT/818fFjmyxUOgy3mp+0E2p lXK9pkorthzjVhHB8zr8roBu3jkc2dBWa0gFabaIGUeChaxo9BKjIYLnmmjPgfAt38h0 leY11q+OGTvfw/fv6UskVO/rSbVlc5nCtSGbhroXh+OkKyEyGKZ7zBt20PUWJ5ju9xx+ V5Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772013970; x=1772618770; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RHmHZviAuhOhpKSUpCtTa1iFHF2rU7EWwgoioRxdGwg=; b=ZauM689qQWnbje7Mxfu3UOZ0EeJFDGUevpPQ+NbOxOypLhqzQCU98h3qbCm4uNqbIk 5LGTebaXRvHwEUpKeIZgXn+OEIDQHyS+YB08/1/k7tzj9uWQcrIPGHclW9TbdM+MJewB qbMmHKqVHfVCbB8cS0FdCTx2ifOjZOPdx9pflgZjfsWp/EfRM4LWZ7zAKBlle20ZcNFL SD9DhnATEOKf2jxyv1mXkz6Sco2ENx+068CDZteVUILKTE+bXiQUKYgDHrILjF+vUdEw bO2puhM/WFjPCTdeoLm/FmMmKUehvYKrFDTFPmDe4gDr99EFjgpFteK8bAvONE7Bgp/5 BAaw== X-Gm-Message-State: AOJu0YwytAM1OdohYsmK95SdYB8bVGfi6DI/1ugQBhB5yJzuQgD4rVPy JQEjYlFWzKRXOmLJsMn0PrhHlQYCQgqpB7WrxoAQnqvRus8RPV8AK4DrpZfNFGNl3Q2WrML+Vj0 pHLnD3EY= X-Gm-Gg: ATEYQzwo4/MSp+7EDiFGrSihUgWtkiAzlydycpgIrG5WYXlu1aCudC7GZVp2Ew9y3mC xCZ76RNqVO73ftIy1ie4M1mCXOgRDeeCBR6TN0cO1IHiWcgESgW+ZCUn5/sKqLIUNzU2Ucej1nI sXIZYeeh33IFteQb6cLUZKv4vOGag2hAvjQ32RrHBFNl8uy+/ybsi9DfSrmuEd3Y90Xz6QyUTuh ZDguc8tzPersCRgrJYhdFu++wSKjH0SlK/p1eQmYi2dBw5PsBYjjWXDB7CK161vlwLCOLdGLoAj vxXNpLoQ7V9Wvcp+wS3XMhnud4VRMYHur/aUywZbdoFFjofG0Vf6W7Uj+InY9C5+cl4e9zQOFrH q1UQWUGLD18unAbVDUh5DEjkZoOVWItHbO5rl8BHRkrNQxAV1/+rkhbFlqU3de5RHZsrgWA== X-Received: by 2002:a05:600c:a00d:b0:480:3ad0:93c0 with SMTP id 5b1f17b1804b1-483a95e6a17mr216542375e9.23.1772013969935; Wed, 25 Feb 2026 02:06:09 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483bfb296bfsm12071595e9.0.2026.02.25.02.06.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:06:09 -0800 (PST) From: Francesco Lavra To: Cc: linux-kernel@vger.kernel.org Subject: [PATCH v6 1/7] iio: imu: st_lsm6dsx: Set FIFO ODR for accelerometer and gyroscope only Date: Wed, 25 Feb 2026 11:06:00 +0100 Message-Id: <20260225100608.2367061-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1747; i=flavra@baylibre.com; h=from:subject; bh=aBIjT8HJMfYZDveJouRj4sa520yQuhHwAmIb09eSjwY=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnsmLKHlBS2+YWZdjOWGvX/xqPbpahixKnyHdW ADRDgnr6CSJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7JiwAKCRDt8TtzzpQ2 X4onC/9cnZd492lRLVRVEZAZiVidVwkJCIcOGUTzTUs2UvzEDyDa3bMQyxVyD6uoMBDf2aHBEg8 NjQ4wF52U6LcgaKUKsgmpBWZrpt/y3Kjcbav/quI6dQlrZPvCdE6RLuDoFxBP2Qiem/5T1HMMW4 Gaejg2XalQfCvPFXOpUEaIYwxqdQei/ZctC4Q9pCI7/kERsfganTCQrYrg3NBKjY68Tk+feEgjQ OGyoTEuM8E6NTTGIwkpLw4RmYX2oo3k97suz/m6zkRBp03XAvSMid+cft434E8o3342yYXcZzqW putiUibepv6PrMns8n4b6DqB1YzP4yZtSiqAsLHhj1fe6ifulVozZJd7uvZwUspXNou2WtDWDrT Am1OPx8RepYg6FBXVq9uiJIV5oV3/HuQA5mxwakCdC7socGuVtFAQ+7mv/8MMZnfzTGGdmqEJP1 iUbKoap9yrPxZ7PNuGvAThgxwyIqsYZt7/K5VNRF3rDpv8FPGDqYMgAV7fLb2pSLdBA/I= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The st_lsm6dsx_set_fifo_odr() function, which is called when enabling and disabling the hardware FIFO, checks the contents of the hw->settings->batch array at index sensor->id, and then sets the current ODR value in sensor registers that depend on whether the register address is set in the above array element. This logic is valid for internal sensors only, i.e. the accelerometer and gyroscope; however, since commit c91c1c844ebd ("iio: imu: st_lsm6dsx: add i2c embedded controller support"), this function is called also when configuring the hardware FIFO for external sensors (i.e. sensors accessed through the sensor hub functionality), which can result in unrelated device registers being written. Add a check to the beginning of st_lsm6dsx_set_fifo_odr() so that it does not touch any registers unless it is called for internal sensors. Fixes: c91c1c844ebd ("iio: imu: st_lsm6dsx: add i2c embedded controller sup= port") Signed-off-by: Francesco Lavra --- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_buffer.c index 55d877745575..1ee2fc5f5f1f 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -225,6 +225,10 @@ static int st_lsm6dsx_set_fifo_odr(struct st_lsm6dsx_s= ensor *sensor, const struct st_lsm6dsx_reg *batch_reg; u8 data; =20 + /* Only internal sensors have a FIFO ODR configuration register. */ + if (sensor->id >=3D ARRAY_SIZE(hw->settings->batch)) + return 0; + batch_reg =3D &hw->settings->batch[sensor->id]; if (batch_reg->addr) { int val; --=20 2.39.5