Fix no headset sound after S3 on Intel HDA

Bug #1904595 reported by Kai-Heng Feng
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Won't Fix
Undecided
Unassigned
Groovy
Fix Released
Medium
Unassigned
linux-oem-5.6 (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Released
Medium
Unassigned
Groovy
Invalid
Undecided
Unassigned

Bug Description

[Impact]
After system S3, hotplugging headset cannot produce any sound despite of
being auto-selected as audio output.

[Fix]
Avoid using pm_runtime_force_{suspend,resume} helpers to ensure codec
suspend/resume flow, and also ensure HDA driver and PCI set correct
wakeup settings.

[Test case]
Plug headset, unplug headset, switch audio ouput from speakers to HDMI
to let Intel HDA auto suspend. Suspend/resume the system, plug the
headset again, hear no sound.

With the patch series applied, the issue is gone.

[Where problems could occur]
If there is bad firmware/hardware that makes codec have system-wide
wakeup capability, direct-complete flow may trigger unwanted system
wakeup or even break system suspend. The series was tested on both AMD
and Intel platforms, with Realtek and Connexant codecs respectively.

CVE References

Changed in linux (Ubuntu Focal):
status: New → Won't Fix
Changed in linux-oem-5.6 (Ubuntu Groovy):
status: New → Invalid
Changed in linux-oem-5.6 (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu):
status: New → Fix Released
Changed in linux (Ubuntu Groovy):
status: New → Confirmed
Changed in linux-oem-5.6 (Ubuntu Focal):
status: New → Confirmed
Changed in linux (Ubuntu Groovy):
importance: Undecided → Medium
Changed in linux-oem-5.6 (Ubuntu Focal):
importance: Undecided → Medium
tags: added: oem-priority originate-from-1904371 stella
Changed in linux (Ubuntu Groovy):
status: Confirmed → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the 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-groovy' to 'verification-done-groovy'. If the problem still exists, change the tag 'verification-needed-groovy' to 'verification-failed-groovy'.

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-groovy
tags: added: verification-done-groovy
removed: verification-needed-groovy
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.6 (Ubuntu Focal):
status: Confirmed → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the 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
tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.8 KiB)

This bug was fixed in the package linux - 5.8.0-34.37

---------------
linux (5.8.0-34.37) groovy; urgency=medium

  * groovy/linux: 5.8.0-34.37 -proposed tracker (LP: #1907576)

  * Packaging resync (LP: #1786013)
    - update dkms package versions

  * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports
    topology where zoning is enabled in expander (LP: #1899802)
    - scsi: mpt3sas: Define hba_port structure
    - scsi: mpt3sas: Allocate memory for hba_port objects
    - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device()
    - scsi: mpt3sas: Update hba_port's sas_address & phy_mask
    - scsi: mpt3sas: Get device objects using sas_address & portID
    - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port()
    - scsi: mpt3sas: Get sas_device objects using device's rphy
    - scsi: mpt3sas: Update hba_port objects after host reset
    - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough
    - scsi: mpt3sas: Handling HBA vSES device
    - scsi: mpt3sas: Add bypass_dirty_port_flag parameter
    - scsi: mpt3sas: Handle vSES vphy object during HBA reset
    - scsi: mpt3sas: Add module parameter multipath_on_hba
    - scsi: mpt3sas: Bump driver version to 35.101.00.00

  * CVE-2020-12912
    - hwmon: (amd_energy) modify the visibility of the counters

  * Intel Tiger Lake IDs supplement (LP: #1904521)
    - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash
    - pinctrl: tigerlake: Add support for Tiger Lake-H

  * [i915] Noise-like lines of graphics corruption when moving windows in Xorg
    sessions (LP: #1896091)
    - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks"

  * Fix no headset sound after S3 on Intel HDA (LP: #1904595)
    - ALSA: hda: Refactor codec PM to use direct-complete optimization
    - ALSA: hda: Separate runtime and system suspend
    - ALSA: hda: Reinstate runtime_allow() for all hda controllers

  * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221)
    - Bluetooth: btrtl: Ask 8821C to drop old firmware
    - Bluetooth: btrtl: fix incorrect skb allocation failure check

  * Use ACPI S5 for reboot (LP: #1904225)
    - PM: ACPI: reboot: Use S5 for reboot

  * Groovy update: v5.8.18 upstream stable release (LP: #1904941)
    - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in
      nft_flow_rule_create
    - io_uring: don't run task work on an exiting task
    - io_uring: allow timeout/poll/files killing to take task into account
    - io_uring: move dropping of files into separate helper
    - io_uring: stash ctx task reference for SQPOLL
    - io_uring: unconditionally grab req->task
    - io_uring: return cancelation status from poll/timeout/files handlers
    - io_uring: enable task/files specific overflow flushing
    - io_uring: don't rely on weak ->files references
    - io_uring: reference ->nsproxy for file table commands
    - io_wq: Make io_wqe::lock a raw_spinlock_t
    - io-wq: fix use-after-free in io_wq_worker_running
    - io_uring: no need to call xa_destroy() on empty xarray
    - io_uring: Fix use of XArray in __io_uring_files_cancel
    - io_uring: Fix XArray usage in io_ur...

Read more...

Changed in linux (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (23.0 KiB)

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1039.43

---------------
linux-oem-5.6 (5.6.0-1039.43) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1039.43 -proposed tracker (LP: #1909420)

  * Fix suspend error of SOF driver (LP: #1908713)
    - Revert "ALSA: hda: Refactor codec PM to use direct-complete optimization"

  * Packaging resync (LP: #1786013)
    - [Packaging] update variants

  * Killer 500s (QCA6390) WLAN/BT [17cb:1101] unavailable (LP: #1879633)
    - Bluetooth: btusb: Add flag to define wideband speech capability
    - Bluetooth: Support querying for WBS support through MGMT
    - Bluetooth: Enable erroneous data reporting if WBS is supported
    - Bluetooth: Increment management interface revision
    - Bluetooth: fix off by one in err_data_reporting cmd masks.
    - Bluetooth: mgmt: add mgmt_cmd_status in add_advertising
    - mac80211: add 802.11 encapsulation offloading support
    - mac80211: fix tx status for no ack cases
    - nl80211: add handling for BSS color
    - mac80211: add handling for BSS color
    - mac80211: allow setting queue_len for drivers not using wake_tx_queue
    - Bluetooth: hci_qca: Enable clocks required for BT SOC
    - Bluetooth: hci_qca: Optimized code while enabling clocks for BT SOC
    - mac80211: fix 11w when using encapsulation offloading
    - ath11k: Silence clang -Wsometimes-uninitialized in
      ath11k_update_per_peer_stats_from_txcompl
    - ath11k: drop tx_info from ath11k_sta
    - ath11k: add HE rate accounting to driver
    - ath11k: fix rcu lock protect in peer assoc confirmation
    - ath11k: fix warn-on in disassociation
    - ath11k: fix parsing PPDU_CTRL type in pktlog
    - ath11k: Fixing dangling pointer issue upon peer delete failure
    - ath11k: fix incorrect peer stats counters update
    - Bluetooth: hci_qca: Bug fixes while collecting controller memory dump
    - net: qrtr: Migrate nameservice to kernel from userspace
    - net: qrtr: Fix the local node ID as 1
    - net: qrtr: fix spelling mistake "serivce" -> "service"
    - net: qrtr: Fix error pointer vs NULL bugs
    - Bluetooth: Replace zero-length array with flexible-array member
    - Bluetooth: hci_qca: Not send vendor pre-shutdown command for QCA Rome
    - Bluetooth: btqca: Fix the NVM baudrate tag offcet for wcn3991
    - net: qrtr: Respond to HELLO message
    - net: qrtr: Fix FIXME related to qrtr_ns_init()
    - soc: qcom: Do not depend on ARCH_QCOM for QMI helpers
    - Bluetooth: hci_qca: Make bt_en and susclk not mandatory for QCA Rome
    - Bluetooth: hci_qca: Replace devm_gpiod_get() with devm_gpiod_get_optional()
    - ath11k: config reorder queue for all tids during peer setup
    - ath11k: add thermal cooling device support
    - ath11k: add thermal sensor device support
    - ath11k: Use scnprintf() for avoiding potential buffer overflow
    - ath11k: handle RX fragments
    - ath11k: enable PN offload
    - ath11k: set queue_len to 4096
    - ath11k: add WMI calls required for handling BSS color
    - ath11k: add handling for BSS color
    - ath11k: Supporting RX ring backpressure HTT event and stats handling
    - ath11k: fill channel info from rx channel
    - ath11k: dum...

Changed in linux-oem-5.6 (Ubuntu Focal):
status: Fix Committed → Fix Released
Timo Aaltonen (tjaalton)
Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.