linux/drivers
Francesco Lavra dc3ce50db8 iio: imu: st_lsm6dsx: Set FIFO ODR for accelerometer and gyroscope only
commit 630748afa7 upstream.

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 c91c1c844e ("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: c91c1c844e ("iio: imu: st_lsm6dsx: add i2c embedded controller support")
Signed-off-by: Francesco Lavra <flavra@baylibre.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-04-18 10:33:32 +02:00
..
accessibility speakup: Fix sizeof() vs ARRAY_SIZE() bug 2024-06-16 13:39:11 +02:00
acpi ACPI: EC: Fix ECDT probe ordering issues 2026-04-18 10:33:26 +02:00
amba amba: tegra-ahb: Fix device leak on SMMU enable 2026-01-19 13:09:54 +01:00
android binder: don't use %pK through printk 2026-03-04 07:20:16 -05:00
ata ata: libata-scsi: refactor ata_scsi_translate() 2026-04-18 10:33:07 +02:00
atm atm: fore200e: fix use-after-free in tasklets during device removal 2026-03-04 07:20:36 -05:00
auxdisplay auxdisplay: arm-charlcd: fix release_mem_region() size 2026-03-04 07:19:20 -05:00
base regmap: Synchronize cache for the page selector 2026-04-18 10:33:25 +02:00
bcma Driver core update for 5.15-rc1 2021-09-01 08:44:42 -07:00
block drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() 2026-04-18 10:33:09 +02:00
bluetooth Bluetooth: btusb: clamp SCO altsetting table indices 2026-04-18 10:33:25 +02:00
bus bus: fsl-mc: fix an error handling in fsl_mc_device_add() 2026-03-04 07:20:32 -05:00
cdrom scsi: sr: cdrom: Move cdrom_read_cdda_bpc() into the sr driver 2021-07-30 22:13:09 -04:00
char char: tpm: cr50: Remove IRQF_ONESHOT 2026-03-04 07:20:01 -05:00
clk clk: tegra: tegra124-emc: fix device leak on set_rate() 2026-04-18 10:33:07 +02:00
clocksource clocksource/drivers/timer-integrator-ap: Add missing Kconfig dependency on OF 2026-03-04 07:20:00 -05:00
comedi comedi: Fix getting range information for subdevices 16 to 255 2026-02-06 16:42:01 +01:00
connector net/connector: Add const qualifier to cb_id 2020-12-16 11:06:49 -08:00
counter counter: interrupt-cnt: Drop IRQF_NO_THREAD flag 2026-01-19 13:10:18 +01:00
cpufreq cpufreq: conservative: Reset requested_freq on limits change 2026-04-18 10:33:27 +02:00
cpuidle sched: idle: Make skipping governor callbacks more consistent 2026-04-18 10:33:12 +02:00
crypto crypto: ccp - Add an S4 restore flow 2026-03-04 07:19:42 -05:00
cxl cxl/mem: Fix shutdown order 2023-11-20 11:08:27 +01:00
dax dax/kmem: Pass valid argument to memory_group_register_static 2023-07-23 13:47:17 +02:00
dca dca: Use PTR_ERR_OR_ZERO() to simplify code 2020-05-15 16:25:20 +02:00
devfreq PM / devfreq: governor: Replace sscanf() with kstrtoul() in set_freq_store() 2025-08-28 16:24:17 +02:00
dio drivers: dio: fix possible memory leak in dio_init() 2022-12-31 13:14:27 +01:00
dma dmaengine: xilinx_dma: Fix reset related timeout with two-channel AXIDMA 2026-04-18 10:33:28 +02:00
dma-buf dma-buf: insert memory barrier before updating num_fences 2025-09-09 18:50:23 +02:00
edac EDAC/i5400: Fix snprintf() limit calculation in calculate_dimm_size() 2026-03-04 07:19:27 -05:00
eisa EISA: use DEVICE_ATTR_RO() helper macro 2021-06-04 15:28:34 +02:00
extcon extcon: adc-jack: Cleanup wakeup source only if it was enabled 2025-12-07 06:09:26 +09:00
firewire firewire: nosy: Fix dma_free_coherent() size 2026-01-19 13:09:57 +01:00
firmware firmware: arm_scpi: Fix device_node reference leak in probe path 2026-04-18 10:33:20 +02:00
fpga fpga: dfl: use subsys_initcall to allow built-in drivers to be added 2026-03-04 07:20:25 -05:00
fsi fsi: aspeed: Reset master errors after CFAM reset 2023-09-19 12:22:46 +02:00
gnss treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
gpio gpio: aspeed-sgpio: Change the macro to support deferred probe 2026-03-04 07:20:06 -05:00
gpu drm/ast: dp501: Fix initialization of SCU2C 2026-04-18 10:33:32 +02:00
greybus greybus: Fix use-after-free bug in gb_interface_release due to race condition. 2024-07-05 09:14:23 +02:00
hid HID: multitouch: Check to ensure report responses match the request 2026-04-18 10:33:29 +02:00
hsi HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition 2025-05-02 07:44:06 +02:00
hv Drivers: hv: vmbus: Add utility function for querying ring size 2025-07-10 15:57:36 +02:00
hwmon hwmon: (occ) Fix division by zero in occ_show_power_1() 2026-04-18 10:33:32 +02:00
hwspinlock hwspinlock: Introduce hwspin_lock_bust() 2024-09-12 11:07:41 +02:00
hwtracing coresight: etm3x: Fix cpulocked warning on cpuhp 2026-03-04 07:19:46 -05:00
i2c i2c: fsi: Fix a potential leak in fsi_i2c_probe() 2026-04-18 10:33:22 +02:00
i3c i3c: mipi-i3c-hci: Add missing TID field to no-op command descriptor 2026-04-18 10:33:16 +02:00
idle intel_idle: Allow loading ACPI tables for any family 2025-08-28 16:24:16 +02:00
iio iio: imu: st_lsm6dsx: Set FIFO ODR for accelerometer and gyroscope only 2026-04-18 10:33:32 +02:00
infiniband RDMA/irdma: Return EINVAL for invalid arp index error 2026-04-18 10:33:26 +02:00
input Input: xpad - add support for Razer Wolverine V3 Pro 2026-04-18 10:33:32 +02:00
interconnect interconnect: qcom: sc7280: Add missing num_links to xm_pcie3_1 node 2025-08-28 16:24:03 +02:00
iommu iommu/vt-d: Fix intel iommu iotlb sync hardlockup and retry 2026-04-18 10:33:17 +02:00
ipack ipack: ipoctal: fix module reference leak 2021-09-27 17:38:49 +02:00
irqchip irqchip/gic-v3-its: Limit number of per-device MSIs to the range the ITS supports 2026-04-18 10:33:15 +02:00
isdn mISDN: annotate data-race around dev->work 2026-02-06 16:41:55 +01:00
leds leds: led-class: Only Add LED to leds_list when it is fully ready 2026-02-06 16:41:56 +01:00
macintosh macintosh/mac_hid: fix race condition in mac_hid_toggle_emumouse 2026-01-19 13:09:28 +01:00
mailbox mailbox: sprd: clear delivery flag before handling TX done 2026-03-04 07:20:14 -05:00
mcb mcb: fix a double free bug in chameleon_parse_gdd() 2025-05-02 07:44:31 +02:00
md dm mpath: make pg_init_delay_msecs settable 2026-03-04 07:20:32 -05:00
media media: mc, v4l2: serialize REINIT and REQBUFS with req_queue_mutex 2026-04-18 10:33:27 +02:00
memory memory: mtk-smi: fix device leak on larb probe 2026-04-18 10:33:06 +02:00
memstick memstick: Add timeout to prevent indefinite waiting 2025-12-07 06:09:16 +09:00
message scsi: fusion: Remove unused variable 'rc' 2024-12-14 19:51:02 +01:00
mfd mfd: omap-usb-host: Fix OF populate on driver rebind 2026-04-18 10:33:07 +02:00
misc misc: eeprom: Fix EWEN/EWDS/ERAL commands for 93xx56 and 93xx66 2026-03-04 07:20:16 -05:00
mmc mmc: sdhci: fix timing selection for 1-bit bus width 2026-04-18 10:33:17 +02:00
most most: usb: fix double free on late probe failure 2025-12-07 06:09:35 +09:00
mtd mtd: rawnand: brcmnand: skip DMA during panic write 2026-04-18 10:33:22 +02:00
mux mux: gpio: Simplify code by using dev_err_probe() 2021-04-02 16:28:53 +02:00
net wifi: wilc1000: fix u8 overflow in SSID scan buffer size calculation 2026-04-18 10:33:31 +02:00
nfc NFC: pn533: bound the UART receive buffer 2026-04-18 10:33:30 +02:00
ntb NTB: ntb_transport: Fix too small buffer for debugfs_name 2026-03-04 07:20:37 -05:00
nubus nubus: Partially revert proc_create_single_data() conversion 2023-07-05 18:25:05 +01:00
nvdimm nvdimm/bus: Fix potential use after free in asynchronous initialization 2026-04-18 10:33:17 +02:00
nvme nvme-pci: ensure we're polling a polled queue 2026-04-18 10:33:23 +02:00
nvmem nvmem: core: improve range check for nvmem_cell_write() 2025-03-13 12:50:32 +01:00
of of: platform: Use default match table for /firmware 2026-02-06 16:42:01 +01:00
opp OPP: debugfs: Fix warning around icc_get_name() 2024-03-26 18:21:23 -04:00
parisc parisc: Do not reprogram affinitiy on ASP chip 2026-01-19 13:09:52 +01:00
parport parport_pc: add support for ASIX AX99100 2025-03-13 12:50:46 +01:00
pci PCI: Fix pci_slot_trylock() error handling 2026-03-04 07:20:34 -05:00
pcmcia pcmcia: omap_cf: Mark driver struct with __refdata to prevent section mismatch 2025-10-02 13:39:05 +02:00
perf perf: arm_spe: Prevent overflow in PERF_IDX2OFF() 2025-10-19 16:21:29 +02:00
phy phy: ti: j721e-wiz: Fix device node reference leak in wiz_get_lane_phy_types() 2026-04-18 10:33:28 +02:00
pinctrl pinctrl: mediatek: common: Fix probe failure for devices without EINT 2026-04-18 10:33:24 +02:00
platform platform/olpc: olpc-xo175-ec: Fix overflow error message to print inlen 2026-04-18 10:33:24 +02:00
pnp PNP: ACPI: fix fortify warning 2024-02-23 08:54:38 +01:00
power power: supply: wm97xx: Fix NULL pointer dereference in power_supply_changed() 2026-03-04 07:19:41 -05:00
powercap powercap: fix sscanf() error return value handling 2026-01-19 13:10:19 +01:00
pps pps: fix warning in pps_register_cdev when register device fail 2025-10-19 16:21:33 +02:00
ps3 powerpc/ps3: Warn on PS3 device errors 2021-06-10 21:44:58 +10:00
ptp ptp: Add PHC file mode checks. Allow RO adjtime() without FMODE_WRITE. 2026-02-06 16:41:51 +01:00
pwm pwm: stm32: Always program polarity 2026-01-19 13:10:12 +01:00
rapidio rapidio: replace rio_free_net() with kfree() in rio_scan_alloc_net() 2026-03-04 07:20:32 -05:00
ras RAS/CEC: Correct ce_add_elem()'s returned values 2021-04-07 11:52:26 +02:00
regulator regulator: pca9450: Correct interrupt type 2026-04-18 10:33:12 +02:00
remoteproc remoteproc: mediatek: Unprepare SCP clock during system suspend 2026-04-18 10:33:11 +02:00
reset reset: brcmstb: Enable reset drivers for ARCH_BCM2835 2025-08-28 16:24:18 +02:00
rpmsg rpmsg: core: fix race in driver_override_show() and use core helper 2026-03-04 07:20:25 -05:00
rtc rtc: interface: Alarm race handling should not discard preceding error 2026-03-04 07:19:56 -05:00
s390 s390/cio: Fix device lifecycle handling in css_alloc_subchannel() 2026-03-04 07:19:23 -05:00
sbus module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
scsi scsi: ses: Handle positive SCSI error from ses_recv_diag() 2026-04-18 10:33:27 +02:00
sh sh: clk: Fix clk_enable() to return 0 on NULL clk 2025-01-09 13:28:34 +01:00
siox siox: fix possible memory leak in siox_device_add() 2022-11-26 09:24:36 +01:00
slimbus slimbus: core: fix device reference leak on report present 2026-02-06 16:41:57 +01:00
soc soc: fsl: qbman: fix race condition in qman_destroy_fq 2026-04-18 10:33:19 +02:00
soundwire soundwire: stream: restore params when prepare ports fail 2025-08-28 16:24:10 +02:00
spi spi: spi-fsl-lpspi: fix teardown order issue (UAF) 2026-04-18 10:33:27 +02:00
spmi spmi: hisi-spmi-controller: Do not override device identifier 2024-07-05 09:14:20 +02:00
ssb ssb: Fix division by zero issue in ssb_calc_clock_rate 2024-09-04 13:23:20 +02:00
staging staging: rtl8723bs: properly validate the data in rtw_get_ie_ex() 2026-04-18 10:33:15 +02:00
target scsi: target: iscsi: Fix use-after-free in iscsit_dec_conn_usage_count() 2026-02-11 13:35:31 +01:00
tc The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
tee tee: allow a driver to allocate a tee_device without a pool 2025-12-07 06:09:17 +09:00
thermal thermal/drivers/qcom/lmh: Add missing IRQ includes 2025-10-19 16:21:31 +02:00
thunderbolt thunderbolt: Add support for Intel Wildcat Lake 2025-12-07 06:09:35 +09:00
tty serial: uartlite: fix PM runtime usage count underflow on probe 2026-04-18 10:33:18 +02:00
uio uio: uio_fsl_elbc_gpcm:: Add null pointer check to uio_fsl_elbc_gpcm_probe 2026-01-19 13:09:23 +01:00
usb USB: core: add NO_LPM quirk for Razer Kiyo Pro webcam 2026-04-18 10:33:32 +02:00
vdpa vdpa: Sync calls set/get config/status with cf_mutex 2026-01-19 13:09:34 +01:00
vfio vfio/type1: Fix error unwind in migration dirty bitmap allocation 2025-06-27 11:05:13 +01:00
vhost vhost/vsock: improve RCU read sections around vhost_vsock_get() 2026-01-19 13:09:48 +01:00
video fbcon: check return value of con2fb_acquire_newinfo() 2026-04-18 10:33:08 +02:00
virt minmax: add in_range() macro 2025-10-19 16:21:28 +02:00
virtio mm/balloon_compaction: convert balloon_page_delete() to balloon_page_finalize() 2026-01-19 13:10:10 +01:00
visorbus visorbus: fix error return code in visorchipset_init() 2021-06-04 15:27:26 +02:00
vlynq bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
vme vme: Fix error not catched in fake_init() 2022-12-31 13:14:30 +01:00
w1 w1: therm: Fix off-by-one buffer overflow in alarms_store 2026-02-06 16:42:02 +01:00
watchdog fix it87_wdt early reboot by reporting running timer 2026-03-04 07:20:16 -05:00
xen xen/privcmd: add boot control for restricted usage in domU 2026-04-18 10:33:22 +02:00
zorro zorro: Drop useless (and hardly used) .driver member in struct zorro_dev 2021-08-05 14:37:04 +02:00
Kconfig firmware: include drivers/firmware/Kconfig unconditionally 2021-10-07 16:51:26 +02:00
Makefile virtio: always enter drivers/virtio/ 2021-12-22 09:32:39 +01:00