Skip to content

Conversation

@kv2019i
Copy link
Collaborator

@kv2019i kv2019i commented Jun 3, 2025

When transitioning to D3 state with a pipeline containing a DAI that supports microphone privacy but is in HW-managed mode, the DSP can panic. This occurs because the mic_privacy_get_mic_disable_status() function is called unconditionally during suspend/resume regardless of the privacy mode.

Fix the issue by explicitly checking for
mic_privacy_manager_get_policy() == MIC_PRIVACY_FW_MANAGED before attempting to save/restore the mic disable status. This ensures we only interact with the privacy status when the firmware is responsible for managing it, and allows HW-managed configurations to properly transit through D3 power states without exceptions.

This is a small but critical fix to the previous microphone privacy D3 resume patch, addressing panic cases observed with HDA and SoundWire interfaces.

(cherry picked from commit 287d174)

When transitioning to D3 state with a pipeline containing a DAI that
supports microphone privacy but is in HW-managed mode, the DSP can
panic. This occurs because the mic_privacy_get_mic_disable_status()
function is called unconditionally during suspend/resume regardless of
the privacy mode.

Fix the issue by explicitly checking for
mic_privacy_manager_get_policy() == MIC_PRIVACY_FW_MANAGED before
attempting to save/restore the mic disable status. This ensures we only
interact with the privacy status when the firmware is responsible for
managing it, and allows HW-managed configurations to properly transit
through D3 power states without exceptions.

This is a small but critical fix to the previous microphone privacy D3
resume patch, addressing panic cases observed with HDA and SoundWire
interfaces.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
(cherry picked from commit 287d174)
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
@kv2019i kv2019i requested a review from tmleman as a code owner June 3, 2025 08:54
@kv2019i kv2019i merged commit cd8660c into thesofproject:stable-v2.13 Jun 3, 2025
39 of 48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants