acrn-kernel/drivers/base/regmap
Matthias Reichl bcd50a3bd6 regmap: fix bogus error on regcache_sync success
commit fea88064445a59584460f7f67d102b6e5fc1ca1d upstream.

Since commit 0ec7731655de ("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: 0ec7731655de ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-12-13 18:39:20 +01:00
..
Kconfig
Makefile
internal.h
regcache-flat.c
regcache-lzo.c
regcache-rbtree.c
regcache.c regmap: fix bogus error on regcache_sync success 2023-12-13 18:39:20 +01:00
regmap-ac97.c
regmap-debugfs.c regmap: debugfs: Fix a erroneous check after snprintf() 2023-11-20 11:51:55 +01:00
regmap-i2c.c
regmap-i3c.c
regmap-irq.c
regmap-mdio.c
regmap-mmio.c
regmap-sccb.c
regmap-sdw-mbq.c
regmap-sdw.c
regmap-slimbus.c
regmap-spi-avmm.c
regmap-spi.c
regmap-spmi.c
regmap-w1.c
regmap.c regmap: prevent noinc writes from clobbering cache 2023-11-20 11:52:15 +01:00
trace.h