linux/sound
Alexander Sverdlin 66dc3b9b9a
ASoC: ep93xx: ignore 0 Hz sysclk
Commit 2458adb8f9
("SoC: simple-card-utils: set 0Hz to sysclk when shutdown")
added a call to snd_soc_dai_set_sysclk() with 0 Hz frequency. Being
propagated further it causes a division by zero in clk-ep93xx driver:

Division by zero in kernel.
CPU: 0 PID: 52 Comm: aplay Tainted: G        W          6.2.0-rc4-... #1
Hardware name: Generic DT based system
 unwind_backtrace from show_stack+0x10/0x18
 show_stack from dump_stack_lvl+0x28/0x34
 dump_stack_lvl from __div0+0x10/0x1c
 __div0 from Ldiv0+0x8/0x1c
 Ldiv0 from ep93xx_mux_determine_rate+0x78/0x1d0
 ep93xx_mux_determine_rate from clk_core_round_rate_nolock+0x48/0xc8
 clk_core_round_rate_nolock from clk_core_set_rate_nolock+0x48/0x160
 clk_core_set_rate_nolock from clk_set_rate+0x30/0x8c
 clk_set_rate from ep93xx_i2s_set_sysclk+0x30/0x6c
 ep93xx_i2s_set_sysclk from snd_soc_dai_set_sysclk+0x3c/0xa4
 snd_soc_dai_set_sysclk from asoc_simple_shutdown+0xb8/0x164
 asoc_simple_shutdown from snd_soc_link_shutdown+0x44/0x54
 snd_soc_link_shutdown from soc_pcm_clean+0x78/0x180
 soc_pcm_clean from soc_pcm_close+0x28/0x40
 soc_pcm_close from snd_pcm_release_substream.part.0+0x3c/0x84
 snd_pcm_release_substream.part.0 from snd_pcm_release+0x40/0x88
 snd_pcm_release from __fput+0x74/0x278

There has been commit f1879d7b98 ("ASoC: rockchip: ignore 0Hz sysclk"),
but it prepared by far not all drivers.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Link: https://lore.kernel.org/r/20230212220923.258414-1-alexander.sverdlin@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-02-13 12:44:53 +00:00
..
ac97 ALSA: ac97: Replace sprintf() with sysfs_emit() 2022-08-02 16:03:41 +02:00
aoa ALSA: aoa: tas: Convert to i2c's .probe_new() 2022-11-19 09:43:27 +01:00
arm ALSA: arm: pxa: pxa2xx-ac97-lib: fix return value check of platform_get_irq() 2022-10-29 10:45:27 +02:00
atmel
core Merge branch 'for-next' into for-linus 2022-12-22 09:11:48 +01:00
drivers ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt 2022-12-06 11:12:12 +01:00
firewire Merge branch 'for-next' into for-linus 2022-12-22 09:11:48 +01:00
hda ALSA: hda: Error out if invalid stream is being setup 2022-12-09 09:54:53 +01:00
i2c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
isa ALSA: sb: Use DIV_ROUND_UP() instead of open-coding it 2022-09-29 08:11:55 +02:00
mips
oss sound: oss: dmasound: remove software_input_volume declaration 2022-09-09 09:11:06 +02:00
parisc
pci ALSA: azt3328: Remove the unused function snd_azf3328_codec_outl() 2022-12-22 09:12:26 +01:00
pcmcia ALSA: pdaudiocf: Drop superfluous GFP setup 2022-08-24 08:00:26 +02:00
ppc ALSA: ppc: keywest: Convert to i2c's .probe_new() 2022-11-19 09:43:50 +01:00
sh
soc ASoC: ep93xx: ignore 0 Hz sysclk 2023-02-13 12:44:53 +00:00
sparc
spi sound:spi: remove reference to AVR32 in Atmel AT73C213 DAC driver 2022-08-03 11:11:26 +02:00
synth treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
usb ALSA: usb-audio: Add new quirk FIXED_RATE for JBL Quantum810 Wireless 2022-12-22 09:13:54 +01:00
virtio
x86 ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get() 2022-06-17 10:46:38 +02:00
xen
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c driver core: make struct class.devnode() take a const * 2022-11-24 17:12:27 +01:00