linux/sound/soc
Sylwester Nawrocki 957066143e ASoC: wm8994: Avoid attempts to read unreadable registers
[ Upstream commit f082bb59b7 ]

The driver supports WM1811, WM8994, WM8958 devices but according to
documentation and the regmap definitions the WM8958_DSP2_* registers
are only available on WM8958. In current code these registers are
being accessed as if they were available on all the three chips.

When starting playback on WM1811 CODEC multiple errors like:
"wm8994-codec wm8994-codec: ASoC: error at soc_component_read_no_lock on wm8994-codec: -5"
can be seen, which is caused by attempts to read an unavailable
WM8958_DSP2_PROGRAM register. The issue has been uncovered by recent
commit "e2329ee ASoC: soc-component: add soc_component_err()".

This patch adds a check in wm8958_aif_ev() callback so the DSP2 handling
is only done for WM8958.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20200731173834.23832-1-s.nawrocki@samsung.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-09-03 11:26:59 +02:00
..
adi
amd
atmel ASoC: atmel: fix atmel_ssc_set_audio link failure 2020-02-28 17:22:26 +01:00
au1x
bcm
cirrus
codecs ASoC: wm8994: Avoid attempts to read unreadable registers 2020-09-03 11:26:59 +02:00
dwc
fsl ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK 2020-08-19 08:16:18 +02:00
generic
hisilicon
img ASoC: img-parallel-out: Fix a reference count leak 2020-09-03 11:26:42 +02:00
intel ASoC: intel: Fix memleak in sst_media_open 2020-08-26 10:41:03 +02:00
jz4740 ASoC: jz4740-i2s: Fix divider written at incorrect offset in register 2020-04-13 10:48:09 +02:00
kirkwood
mediatek
meson ASoC: meson: axg-tdm-formatters: fix sclk inversion 2020-08-19 08:16:18 +02:00
mxs
pxa
qcom ASoC: q6routing: add dummy register read/write function 2020-08-26 10:40:59 +02:00
rockchip ASoC: rockchip: Fix a reference count leak. 2020-06-30 15:36:57 -04:00
samsung
sh SoC: rsnd: add interrupt support for SSI BUSIF buffer 2020-06-24 17:50:26 +02:00
sirf
sof ASoC: SOF: nocodec: add missing .owner field 2020-08-19 08:16:08 +02:00
spear
sprd
sti
stm ASoC: stm32: spdifrx: fix regmap status check 2020-05-02 08:49:01 +02:00
sunxi ASoC: sun8i-codec: Fix setting DAI data format 2020-02-28 17:22:13 +01:00
tegra ASoC: tegra: Fix reference count leaks. 2020-09-03 11:26:42 +02:00
ti ASoC: ti: omap-mcbsp: Fix an error handling path in 'asoc_mcbsp_probe()' 2020-06-24 17:50:26 +02:00
txx9
uniphier
ux500 ASoC: ux500: mop500: Fix some refcounted resources issues 2020-06-24 17:50:26 +02:00
xilinx
xtensa
zte
Kconfig
Makefile
soc-ac97.c
soc-acpi.c
soc-component.c
soc-compress.c
soc-core.c ASoC: core: only convert non DPCM link to DPCM link 2020-06-24 17:50:42 +02:00
soc-dai.c
soc-dapm.c ASoC: dapm: fixup dapm kcontrol widget 2020-04-29 16:33:18 +02:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-io.c
soc-jack.c
soc-ops.c ASoC: fix regwmask 2020-04-17 10:50:06 +02:00
soc-pcm.c ASoC: dpcm: allow start or stop during pause for backend 2020-04-17 10:50:06 +02:00
soc-topology.c ASoC: topology: fix tlvs in error handling for widget_dmixer 2020-07-29 10:18:45 +02:00
soc-utils.c