Thread (5 messages) flat view 5 messages, 3 authors, 3h ago
HOTtoday

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help