[PATCH v5 0/2] ASoC: codecs: nau8360: Fix DSP routing and deadlock issues
From: Neo Chang <hidden>
Date: 2026-09-14 01:56:56
Also in:
alsa-devel, linux-sound
This patch series addresses two issues in the nau8360 codec driver
regarding the DAC mux control:
1. An invalid hardware routing state that occurs when the DSP firmware
fails to load but the userspace attempts to switch to the DSP path.
2. A pre-existing AB-BA deadlock triggered during concurrent stream
startups or ALSA mixer updates.
---
Changes in v5:
- Patch 1/2: Changed the return value to -EBUSY in the playback check
condition (bias_level > STANDBY). (Reported by Dan Carpenter)
- Rebased onto the latest for-next branch and resolved a merge conflict
in nau8360_dac_mux_put_enum().
Changes in v4:
- Patch 1/2: Changed the return value to -EBUSY instead of 0 to properly
reject the invalid request and prevent ALSA state desync.
- Patch 1/2: Used dev_warn_ratelimited() instead of dev_warn().
- Patch 2/2: Added a fix for the AB-BA deadlock in nau8360_dac_mux_put_enum().
(Reported by Sashiko AI)
Changes in v3:
- Block the DSP path selection if the firmware fails to load to prevent
invalid routing states.
Changes in v2:
- Use snd_soc_component_update_bits() to prevent register overwriting.
(Reported by Sashiko AI)
- Fix missing bit shift for default PEQ band. (Reported by Sashiko AI)
Neo Chang (2):
ASoC: codecs: nau8360: Block DSP path selection when firmware load
fails
ASoC: codecs: nau8360: Fix AB-BA deadlock in mux update
sound/soc/codecs/nau8360.c | 21 ++++++++++++++-------
sound/soc/codecs/nau8360.h | 6 ++++++
2 files changed, 20 insertions(+), 7 deletions(-)
--
2.25.1