From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (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 38433442B1D for ; Fri, 31 Jul 2026 17:47:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785520030; cv=none; b=vGXjm/q3gML/4xMzJW+/Ku7grw37yvh1gzuN5SbzQ+kdSuCGg8907TP9gLPl9yKAZvHpGP7bsHbQsKZ5ukqH+xolP7EynvIKlTReF3WU4QfDDT0S1w1Bc2vu0au5sHUhdnWknf1GT7WjSVlms6Ofub21gmUrbfZ3sc9wjHpUfbg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785520030; c=relaxed/simple; bh=FsuPZDWqXGxX46n/pEPHzrnYfaWIScIJvloWWEiHOQA=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=feAyI96n7hJWIZ3L1S6pTJXZWVETQAJVQDPiScDBxT4ybjPidD5AAEeG4265upFRC3JW3cCERu6s7stRFr8HgMER07JOGMXqOV3YHgL63/y2PMTyvvpAXzpsSJ7C9dbl1GyPg02zLHbxyuBasAoCZoXXhmc6XDqd10tAqgulhZI= 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 header.i=@baylibre.com header.b=LxM/wflu; arc=none smtp.client-ip=209.85.208.54 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 header.i=@baylibre.com header.b="LxM/wflu" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-6a09ba1ab24so1396595a12.3 for ; Fri, 31 Jul 2026 10:47:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1785520024; x=1786124824; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=JPtXFtSkvfcYhidzWrk864HLGyhGQ/ltDGTuNZlMMlY=; b=LxM/wfluR2UWlMPCoDt9hRaI90rd5nEoI/zHTEPTTLDayRpKRV8J2rHA98w2jd8XeY h5aaZGLEnwf1kcCM8xv+aJkjeqoorJQq0uBKSpszSK5765avI3/W+kTgcNf8+2WVmO12 Esq8GTe5eWCiF548Cq+LtQoqqWoZKMqhBEMwpr28Bydg1/anjSeIjPlVxYHq+9lT8WrA gqCi1rBH4cG7lZbFwML+styFzKxcySjuJeP0stc68USbaNLd6ofz1UAvbE6tjhDRdo0W qMy+zQl3YhwYOE8vS3ULX7WKsPRBLgI7/7GhMceVAuHlQ+5EPzKu4Kxs5Ti+7cn1I4JB xKnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785520024; x=1786124824; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=JPtXFtSkvfcYhidzWrk864HLGyhGQ/ltDGTuNZlMMlY=; b=hMUlkVRWViw2evi4Q7NJep+aZpFQI2Vf9ljbW+B+07DH36JhaMFeitrgRIj2Q/12mR 1PU+m8CjnDga+ipsMEenkNWZV0Ru0IWcvByW2Asj4XKBhzRO+WMuwXWHW1Fcyz7qp5bQ Z8k9T4ySc839DT3Alj5hHWVwIK6JDZ4CqepGl2yyNopHn+PaK57xiDPEgqRG69CQ6jtL cqSbD7vtWPvTcHwSajVexUiW1CO5ZAoNujezkUj0FBtlTp3ka2qlnbn0iJO1juPuptcq UUo+yB7GDJchAuYf9pYP7xIURHLP/yVKNVVHAB7IIibzrOUG9dfNDVnUGMCFYvsKs/7q toCw== X-Forwarded-Encrypted: i=1; AHgh+RoIM5EilgmcBDOgG8WoC658gWyph6aQ00QKGqHw2rp1tQrj3P9y4mwzZNZx4FMyot6bp/dQ2nu0cBWLxIg=@vger.kernel.org X-Gm-Message-State: AOJu0YyzysVYJ5mATZ6jdEZ/msrStg1jX/NkHio5agB00YBfautiP91Q UhkdWToyEwnlNI1uo02mwq4rUSE1HUF/eYy8+ePN6f1oXWzk0OJ7wwKLU7fFaJTlaXY= X-Gm-Gg: AR+sD11P/RhrzJ7sGeAh5R1Y4uaIiFpxaJaKfRSd1mqWu8h9krOt4wwF83e4zPpohyJ rKzjwAX6XKK8gm7Sr9UYS7qRwicxWdrCg/EHwfFMEtBERL+Ikfx6ZPePviQHd0qYu95IiEKiqYS 8+eeW71U5mX5xh7ZfM0I+4gSyehpmudoYbacppMkmUNS0pFaNKsZ5C542mDSPDmRw2BsxUi3XN4 JFZ5ixG0PM4rRzmbjFGDXvjJFjm+aoyJjOwI9n9XKomK1rtLVS6iYNzsOJ6Q2bssZiF0nEVl5Iq SqZlkDYpDyEbjSlVLEtkDOqLLN81sDdquXPxkihWortr5EHVxSo8qJ7ib++0+0feQ37qtJr2lPf sv4qDYRGbJqmr2dy7qVahiIdv/eOb6upYqbGtUw3w2SzfRuv6u9oxAPy2QnpejVlSoGh6s/STBL 831kzi7kq8Z6f0y2+nJa7SQm1/3mpc8lmr5wk2OhsBOkjoxojAJQ== X-Received: by 2002:a05:6402:1f48:b0:69e:9755:eceb with SMTP id 4fb4d7f45d1cf-6a0a7cb8c07mr353143a12.18.1785520023919; Fri, 31 Jul 2026 10:47:03 -0700 (PDT) Received: from localhost ([151.37.160.27]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6a09c63daf7sm2230073a12.18.2026.07.31.10.47.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Jul 2026 10:47:03 -0700 (PDT) From: Francesco Lavra To: Lorenzo Bianconi , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] iio: imu: st_lsm6dsx: Update enable mask when using sensor fusion Date: Fri, 31 Jul 2026 19:47:02 +0200 Message-Id: <20260731174702.2665870-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 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=1257; i=flavra@baylibre.com; h=from:subject; bh=FsuPZDWqXGxX46n/pEPHzrnYfaWIScIJvloWWEiHOQA=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBqbN8v9xN8oSmOG93f96/RZrqnxMSQO5dYU1wzo 9ixp5h0ycaJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCamzfLwAKCRDt8TtzzpQ2 X3ThC/0ZbTVybaiFM+RM+ptBB7WqlPbU6KgrYDl4Bt2JBJmJxjmBNyaKDIa6HGDEmYjeJlAdf7B MMnQUO6r47TKB0zCxyldedy48hW23Tz0niHBacNtDWg2FkfLonS93Ibt9o+EsYwCZkXdJiAOt6K Nc8CTkYSZeHZYtIxWhjszzWS4svsl5jED94dQw/GxTpdxiTNBauk9mv8ujVk/kv3lKhq2R17uj2 G3kh4829L30bURHqH+v20rxTePk6EFDkttaWw0gLjlRy/iIwQLt0kWh/0XqCcxW+Vo3ezuJT3iO pkaSigjsL5hghuW8Lm395xdR6TqWJFhW2vR//FQuLfuuEdue0HKvuElSg6pHecpCoZd3xSD5Qt+ v3KNxDj0KgJtHwlwVWPQumIBbkd2Pn6bnal/lPgecAQjZhBglnmWLO+oXmMIqixhdE6rolLPrDE YhxwEpn5tf16usgrVvkUyPd7NTqgWSiZLWk0DsTkX7IJrh1GHvol3N0DqeSMVGiWB/Mds= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: 8bit The enable_mask struct member keeps track of which sensors are enabled in the IMU. When enabling and disabling the sensor fusion functionality, the driver does not properly update this struct member. This prevents a correct calculation of the number of samples that should be read from the hardware FIFO; as a result, reads from the FIFO can be unnecessarily split into multiple transactions, some of which can read past the FIFO length. Fixes: cd4e1141bff8 ("iio: imu: st_lsm6dsx: Add support for rotation sensor") Signed-off-by: Francesco Lavra --- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c index 2e72c7ba94dd..5321033daebc 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c @@ -112,6 +112,11 @@ int st_lsm6dsx_fusion_set_enable(struct st_lsm6dsx_sensor *sensor, bool enable) return err; } + if (enable) + hw->enable_mask |= BIT(ST_LSM6DSX_ID_FUSION); + else + hw->enable_mask &= ~BIT(ST_LSM6DSX_ID_FUSION); + return st_lsm6dsx_fusion_page_disable(hw); } -- 2.39.5