Fix missing external headset after resume problem for Cirrus CS8409 sound driver

Bug #1952385 reported by Chris Chiu
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Undecided
Unassigned
linux (Ubuntu)
Status tracked in Jammy
Focal
Undecided
Unassigned
Jammy
Undecided
Chris Chiu
linux-oem-5.13 (Ubuntu)
Status tracked in Jammy
Focal
Undecided
Unassigned
Jammy
Undecided
Unassigned
linux-oem-5.14 (Ubuntu)
Status tracked in Jammy
Focal
Undecided
Unassigned
Jammy
Undecided
Unassigned

Bug Description

[SRU Justification]

[Impact]
On some platforms with Cirrus CS8409 audio codec, the external headset will fail to be detected after system resume.

[Fix]
Cirrus released a fix and send it upstream for approval. It's trying to schedule a harmless delayed work to do jack detection to reflect the real power state after resume.

[Test]
Plug-in an external headset in front headset port, suspend/resume the system then check whether the headset function works as expected.

[Where problem could occur]
Low. It only affect the platforms with Cirrus codec CS8409 which used to have problem.

================== Original Bug Description ======================

[Summary] System can't detect external headset after suspend

[Steps to reproduce]
1. install manifest and boot into OS
2. plug-in an external headset in front headset port
3. un-plug external headset
4. suspend system
5. resume system from suspend
6. plug-in an external headset

[Expected result]
System could detect external headset after suspend

[Actual result]
System can't detect external headset after suspend

[Failure rate]
3/3

[Additional information]
CID: 202110-29567
SKU: DLPV-SFF-DVT-C1
Image: canonical-oem-somerville-focal-amd64-20200502-85+fossa-davos-adl+X152
system-manufacturer: Dell Inc.
system-product-name: Vostro 3710
bios-version: 0.13.73
CPU: 12th Gen Intel(R) Core(TM) i7-12700 (20x)
GPU: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:4680] (rev 0c)
kernel-version: 5.13.0-1019-oem

[Stage]
Issue reported and logs collected right after it happened

Chris Chiu (mschiu77)
Changed in linux-oem-5.14 (Ubuntu Focal):
status: New → In Progress
Changed in linux-oem-5.13 (Ubuntu Focal):
status: New → In Progress
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1952385

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu Focal):
status: New → Incomplete
Chris Chiu (mschiu77)
tags: added: oem-priority originate-from-1951215 somerville
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.14 (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

New mail from Cirrus Logic:

""""
Hi Canonical / Dell team:

We have an update on Ubuntu S3 resume issue. Here is the explanation of the update.

We have to re-open this issue as the patch was rejected by the maintainer. However we have another patch, that will fix an issue and it was proposed by the maintainer, implemented, and submitted to mainline. This patch has also been merged by upstream. We need to communicate to the customer that for the next kernel ODM build they have to revert the previous patch and apply a new one:

https://patchwork.kernel<email address hidden>/

Thanks,

Vitaly

Short summary: If the OEM kernel is already code freezed, that’s fine and forget about the new patch. If the OEM kernel is NOT yet code-freezed, you might want to consider reverting the current patch (https://patchwork.kernel<email address hidden>/ ) and apply the new patch ( https://patchwork.kernel<email address hidden>/ ).

Thank you,

JiaBang

""""

Changed in linux-oem-5.14 (Ubuntu Jammy):
status: New → Invalid
Changed in linux (Ubuntu Jammy):
assignee: nobody → Chris Chiu (mschiu77)
status: Incomplete → Triaged
Changed in linux (Ubuntu Focal):
status: Incomplete → Won't Fix
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.13 (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-5.13/5.13.0-1021.25 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
Revision history for this message
Kai-Chuan Hsieh (kchsieh) wrote :

Verify on DLPV-SFF-DVT-C1, BIOS 0.13.73

Headset keeps working after suspend/resume.

Steps:

1. install 5.13.0-1021-oem
2. reboot
3. open gnome-control-center > sound
4. plug heasset, output/input switch to headphon, headset audio works
5. do suspend/resume
6. headset can still be detected by plug/unplug

tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.13 - 5.13.0-1021.25

---------------
linux-oem-5.13 (5.13.0-1021.25) focal; urgency=medium

  * focal/linux-oem-5.13: 5.13.0-1021.25 -proposed tracker (LP: #1953028)

  * [SRU][I/OEM-5.13/OEM-5.14] Fix USB3.1 hotplug after S3 on AMD renoir
    (LP: #1952817)
    - drm/amd/display: Look at firmware version to determine using dmub on dcn21

  * Fix non-working e1000e device after resume (LP: #1951861)
    - SAUCE: Revert "e1000e: Additional PHY power saving in S0ix"
    - SAUCE: Revert "e1000e: Add polling mechanism to indicate CSME DPG exit"
    - SAUCE: Revert "e1000e: Add handshake with the CSME to support S0ix"

  * [SRU][I/J/OEM-5.13/OEM-5.14] Add MAC passthrough support for more Lenovo
    docks (LP: #1951767)
    - net: usb: r8152: Add MAC passthrough support for more Lenovo Docks

  * Fix missing external headset after resume problem for Cirrus CS8409 sound
    driver (LP: #1952385)
    - SAUCE: ALSA: hda/cs8409: Schedule delayed work for jack detect on resume

 -- Timo Aaltonen <email address hidden> Thu, 02 Dec 2021 19:29:38 +0200

Changed in linux-oem-5.13 (Ubuntu Focal):
status: Fix Committed → Fix Released
Changed in linux-oem-5.13 (Ubuntu Jammy):
status: New → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.14 - 5.14.0-1010.10

---------------
linux-oem-5.14 (5.14.0-1010.10) focal; urgency=medium

  * focal/linux-oem-5.14: 5.14.0-1010.10 -proposed tracker (LP: #1953346)

  * alsa/sdw: add sdw audio machine driver for several ADL machines
    (LP: #1951563)
    - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product
    - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration
    - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products
    - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product
    - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product
    - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration
    - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product
    - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration
    - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product
    - ASoC: intel: sof_sdw: return the original error number
    - ASoC: intel: sof_sdw: rename be_index/link_id to link_index
    - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP
    - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink
    - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk
    - ASoC: intel: sof_sdw: remove get_next_be_id
    - ASoC: intel: sof_sdw: add link adr order check
    - soundwire: bus: update Slave status in sdw_clear_slave_status

 -- Chia-Lin Kao (AceLan) <email address hidden> Mon, 06 Dec 2021 22:12:32 +0800

Changed in linux-oem-5.14 (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers