3
0
Fork 0
forked from mirrors/linux
kernel/drivers/base/regmap
Matthias Reichl fea8806444
regmap: fix bogus error on regcache_sync success
Since commit 0ec7731655 ("regmap: Ensure range selector registers
are updated after cache sync") opening pcm512x based soundcards fail
with EINVAL and dmesg shows sync cache and pm_runtime_get errors:

[  228.794676] pcm512x 1-004c: Failed to sync cache: -22
[  228.794740] pcm512x 1-004c: ASoC: error at snd_soc_pcm_component_pm_runtime_get on pcm512x.1-004c: -22

This is caused by the cache check result leaking out into the
regcache_sync return value.

Fix this by making the check local-only, as the comment above the
regcache_read call states a non-zero return value means there's
nothing to do so the return value should not be altered.

Fixes: 0ec7731655 ("regmap: Ensure range selector registers are updated after cache sync")
Cc: stable@vger.kernel.org
Signed-off-by: Matthias Reichl <hias@horus.com>
Link: https://lore.kernel.org/r/20231203222216.96547-1-hias@horus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-04 12:36:55 +00:00
..
internal.h regmap: Add debugfs file for forcing field writes 2023-06-13 13:15:04 +01:00
Kconfig regmap: Provide user selectable option to enable regmap 2023-07-13 16:20:28 +01:00
Makefile regmap: Provide a ram backed regmap with raw support 2023-06-12 14:47:54 +01:00
regcache-flat.c
regcache-maple.c regmap: maple: Use alloc_flags for memory allocations 2023-07-20 20:37:39 +01:00
regcache-rbtree.c regmap: rbtree: Fix wrong register marked as in-cache when creating new node 2023-09-22 16:54:00 +01:00
regcache.c regmap: fix bogus error on regcache_sync success 2023-12-04 12:36:55 +00:00
regmap-ac97.c
regmap-debugfs.c regmap: debugfs: Fix a erroneous check after snprintf() 2023-09-11 01:30:07 +01:00
regmap-fsi.c
regmap-i2c.c regmap: Account for register length in SMBus I/O limits 2023-07-17 06:15:15 +01:00
regmap-i3c.c
regmap-irq.c regmap-irq: Fix out-of-bounds access when allocating config buffers 2023-07-12 12:05:10 +01:00
regmap-kunit.c regmap: kunit: Add test for cache sync interaction with ranges 2023-10-26 14:00:42 +01:00
regmap-mdio.c
regmap-mmio.c regmap: mmio: Remove unused 64-bit support code 2023-07-09 22:48:46 +01:00
regmap-ram.c regmap: Add RAM backed register map 2023-03-30 12:25:42 +01:00
regmap-raw-ram.c regmap: Provide a ram backed regmap with raw support 2023-06-12 14:47:54 +01:00
regmap-sccb.c
regmap-sdw-mbq.c
regmap-sdw.c regmap: sdw: check for invalid multi-register writes config 2023-05-24 11:21:51 +01:00
regmap-slimbus.c
regmap-spi-avmm.c regmap: Drop initial version of maximum transfer length fixes 2023-07-17 06:15:14 +01:00
regmap-spi.c
regmap-spmi.c
regmap-w1.c
regmap.c regmap: Fix for v6.7 2023-11-07 16:56:10 -08:00
trace.h