linux/sound/soc/fsl
Ștefan Ghețu d3dbccfe6a
ASoC: fsl_micfil: balance mclk enable/disable
hw_params() enables mclk unconditionally and hw_free() disables it
unconditionally, but the PCM core does not guarantee 1:1 pairing:
hw_free() can run without hw_params(), and hw_params() can be called
multiple times from the SETUP state. This triggers an "already
disabled" WARN() in the first case and leaks an enable reference in
the second, leaving the clock ungateable.

Guard both sides with the existing mclk_flag, as fsl_sai.c does with
mclk_streams.

Fixes: b47024dc62 ("ASoC: fsl_micfil: Add mclk enable flag")
Signed-off-by: Ștefan Ghețu <stefanghetu9@gmail.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Link: https://patch.msgid.link/20260830205106.11267-1-stefanghetu9@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2026-09-01 13:48:14 +01:00
..
efika-audio-fabric.c ASoC: fix unmet dependencies on PPC_BESTCOMM and SND_SOC_AC97_BUS 2026-08-21 23:00:52 +01:00
eukrea-tlv320.c ASoC: fsl: eukrea-tlv320: update board checks to use the DT 2026-05-11 09:49:01 +09:00
fsl_asrc_common.h ASoC: fsl_asrc_m2m: Add option to start ASRC before DMA device for M2M 2026-02-06 17:22:35 +00:00
fsl_asrc_dma.c ASoC: soc-generic-dmaengine-pcm: use snd_soc_register_component() 2026-08-05 00:39:33 +01:00
fsl_asrc_m2m.c ASoC: fsl: Drop __force casts 2026-08-13 16:43:27 +02:00
fsl_asrc.c ASoC: Updates for v7.3 2026-08-18 08:35:39 +02:00
fsl_asrc.h ASoC: fsl_asrc: avoid kernel-doc warnings 2026-08-06 17:15:04 +01:00
fsl_aud2htx.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
fsl_aud2htx.h ASoC: fsl_aud2htx: add IEC958_SUBFRAME_LE format in supported list 2025-10-21 15:10:55 +01:00
fsl_audmix.c ASoC: fsl: Use guard() for mutex & spin locks 2026-06-29 19:19:04 +01:00
fsl_audmix.h ASoC: fsl_audmix: Add spin lock to protect tdms 2019-11-11 13:01:37 +00:00
fsl_dma.c ASoC: fsl: dma: use platform helpers and devm cleanup 2026-07-30 13:18:15 +01:00
fsl_dma.h ASoC: fsl-dma: fix all kernel-doc warnings 2026-08-06 17:15:05 +01:00
fsl_easrc.c ASoC: Updates for v7.3 2026-08-18 08:35:39 +02:00
fsl_easrc.h ASoC: fsl_easrc: use struct keyword on structs 2026-08-06 17:15:09 +01:00
fsl_esai.c ASoC: fsl_esai: Use guard() for spin locks 2026-06-29 19:18:47 +01:00
fsl_esai.h ASoC: fsl_esai: Switch to SPDX identifier 2018-05-03 10:29:05 +09:00
fsl_micfil.c ASoC: fsl_micfil: balance mclk enable/disable 2026-09-01 13:48:14 +01:00
fsl_micfil.h ASoC: fsl_micfil: Add DC output remover control 2026-04-27 06:49:41 +09:00
fsl_mqs.c ASoC: fsl_mqs: rename system manager indices for i.MX95 2025-07-03 12:59:59 +01:00
fsl_qmc_audio.c ASoC: fsl: Drop __force casts 2026-08-13 16:43:27 +02:00
fsl_rpmsg.c ASoC: fsl_rpmsg: Allocate a smaller buffer size for capture stream 2025-05-02 05:38:54 +09:00
fsl_rpmsg.h ASoC: fsl_rpmsg: Allocate a smaller buffer size for capture stream 2025-05-02 05:38:54 +09:00
fsl_sai.c ASoC: fsl_sai: Fix spurious BCLK on resume by clearing BYP 2026-07-13 13:41:11 +01:00
fsl_sai.h ASoC: fsl_sai: Add RX/TX BCLK swap support 2026-04-27 08:31:54 +09:00
fsl_spdif.c ASoC: fsl_spdif: Use guard() for spin locks 2026-06-29 19:18:48 +01:00
fsl_spdif.h ASoC: fsl_spdif: Add support for 22.05 kHz sample rate 2023-07-19 18:47:18 +01:00
fsl_ssi_dbg.c ASoC: fsl: fsl_ssi_dbg: remove spurious kernel-doc comment start 2020-07-03 16:09:24 +01:00
fsl_ssi.c ASoC: fsl_ssi: Use guard() for mutex locks 2026-06-29 19:18:49 +01:00
fsl_ssi.h ASoC: fsl: no need to check return value of debugfs_create functions 2019-06-14 16:37:48 +01:00
fsl_utils.c ASoC: fsl_utils: Add snd_kcontrol functions for specific cases 2026-03-10 13:55:57 +00:00
fsl_utils.h ASoC: fsl_utils: Add snd_kcontrol functions for specific cases 2026-03-10 13:55:57 +00:00
fsl_xcvr.c ASoC: fsl: Use auto-cleanup for firmware loading 2026-08-10 15:34:10 +01:00
fsl_xcvr.h ASoC: fsl_xcvr: add bitcount and timestamp controls 2026-03-10 13:55:59 +00:00
fsl-asoc-card.c ASoC: Updates for v7.3 2026-08-18 08:35:39 +02:00
imx-audio-rpmsg.c ASoC: imx-audio-rpmsg: Use guard() for spin locks 2026-06-29 19:18:52 +01:00
imx-audmix.c ASoC: fsl: Rename stream name of SAI DAI driver 2025-02-24 18:35:53 +00:00
imx-audmux.c ASoC: fsl: Use kcalloc() instead of kzalloc() 2025-08-20 15:09:23 +01:00
imx-audmux.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
imx-card.c ASoC: fsl: Drop __force casts 2026-08-13 16:43:27 +02:00
imx-es8328.c ASoC: fsl: Remove unused of_gpio.h 2024-06-10 12:48:37 +01:00
imx-hdmi.c ASoC: imx-hdmi: remove cpu_pdev related code 2025-08-24 22:41:09 +01:00
imx-pcm-dma.c ASoC: fsl: add missing MODULE_DESCRIPTION() macro 2024-06-03 15:59:20 +01:00
imx-pcm-fiq.c ASoC: fsl: name back to pcm_new()/pcm_free() 2026-03-16 13:37:50 +00:00
imx-pcm-rpmsg.c ASoC: Use named initializers for platform_device_id arrays 2026-07-27 15:10:35 +01:00
imx-pcm-rpmsg.h ASoC: imx-pcm-rpmsg: Fix warning of incorrect type in assignment 2021-05-10 13:05:38 +01:00
imx-pcm.h ASoC: fsl: Remove unused inline function imx_pcm_dma_params_init_data() 2022-09-23 13:56:25 +01:00
imx-rpmsg.c ASoC: imx-rpmsg: Set driver_name for snd_soc_card 2026-06-08 18:53:22 +01:00
imx-sgtl5000.c ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
imx-ssi.h dmaengine: imx: Move header to include/dma/ 2022-04-19 12:06:18 +01:00
Kconfig ASoC: fix unmet dependencies on PPC_BESTCOMM and SND_SOC_AC97_BUS 2026-08-21 23:00:52 +01:00
lpc3xxx-i2s.c ASoC: fsl: lpc3xxx: Make some symbols static 2024-08-02 14:05:32 +01:00
lpc3xxx-i2s.h ASoC: fsl: lpc3xxx-i2s: Include bitfield.h for FIELD_PREP 2024-07-01 20:07:28 +01:00
lpc3xxx-pcm.c ASoC: fsl: lpc3xxx: Make some symbols static 2024-08-02 14:05:32 +01:00
Makefile ASoC: fsl_asrc_m2m: Add memory to memory function 2024-12-13 08:57:09 +00:00
mpc5200_dma.c ASoC: fsl: mpc5200_dma: use platform helpers and devm cleanup 2026-07-23 18:11:58 +01:00
mpc5200_dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpc5200_psc_ac97.c ASoC: fsl: mpc5200_dma: use platform helpers and devm cleanup 2026-07-23 18:11:58 +01:00
mpc5200_psc_i2s.c ASoC: fsl: mpc5200_psc_i2s: avoid kernel-doc warnings 2026-08-06 17:15:15 +01:00
p1022_ds.c ASoC: fsl: p1022_ds: add card_to_mdata() macro 2026-07-22 15:52:47 +01:00
p1022_rdk.c ASoC: fsl: p1022_rdk: add card_to_mdata() macro 2026-07-22 15:52:48 +01:00
pcm030-audio-fabric.c ASoC: fix unmet dependencies on PPC_BESTCOMM and SND_SOC_AC97_BUS 2026-08-21 23:00:52 +01:00