[SRU] Do not instantiate SPD5118 sensors on i801 SMBus controllers

Bug #2114963 reported by Leo Lin
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
HWE Next
New
Undecided
Unassigned
linux (Ubuntu)
Fix Released
High
Alice C. Munduruca
Noble
Deferred
Medium
Alice C. Munduruca
Plucky
In Progress
High
Alice C. Munduruca
Questing
Fix Released
High
Alice C. Munduruca
linux-oem-6.14 (Ubuntu)
Invalid
Undecided
Unassigned
Noble
Fix Released
Undecided
Unassigned
Plucky
Invalid
Undecided
Unassigned
Questing
Invalid
Undecided
Unassigned

Bug Description

[ Impact ]

The spd5118 sensor will not function normally if Intel's SMBus has the SPD Write Disable bit set. Notably, during a resume, the following messages would appear because driver is not able to sync back the cached register values:

    [1300273.242285] spd5118 2-0050: Failed to write b = 0: -6
    [1300273.242297] spd5118 2-0050: PM: dpm_run_callback(): spd5118_resume [spd5118] returns -6
    [1300273.242309] spd5118 2-0050: PM: failed to resume async: error -6

[ Fix ]

Cherry-pick the following 2 patches:

    1. i2c: smbus: introduce Write Disable-aware SPD instantiating functions[1]
    2. i2c: i801: Do not instantiate spd5118 under SPD Write Disable[2]

[ Tests ]

1. Install and boot the kernel. Check dmesg. The following message should not appear:

    [ 2.819557] spd5118 2-0050: DDR5 temperature sensor: vendor 0x06:0x32 revision 1.6

2. Suspend the system and resume. The error messages should not appear.

[ Where the problem could occur ]

This makes the spd5118 device not instantiate at all during the i801 controller probe. This was however what the driver author recommended, so let's do it this way before a better solution appears.

[Additional Information]

[1] https://lore.kernel.org/all/20250430<email address hidden>/
[2] https://lore.kernel.org/all<email address hidden>/
[3] https://<email address hidden>/

Leo Lin (0xff07)
summary: - [SRU] Do not instantiate SPD5118 sensors
+ [SRU] Do not instantiate SPD5118 sensors on i801 SMBus controllers
tags: added: jira-somerville-2085 oem-priority
Leo Lin (0xff07)
tags: removed: jira-somerville-2085
tags: added: jira-fxn-44
Leo Lin (0xff07)
tags: added: jira-somerville-1565
AaronMa (mapengyu)
tags: added: jira-sutton-1926
LEE KUAN-YING (kyyc0426)
Changed in linux-oem-6.14 (Ubuntu Noble):
status: New → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.14/6.14.0-1006.6 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-noble-linux-oem-6.14' to 'verification-done-noble-linux-oem-6.14'. If the problem still exists, change the tag 'verification-needed-noble-linux-oem-6.14' to 'verification-failed-noble-linux-oem-6.14'.

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: kernel-spammed-noble-linux-oem-6.14-v2 verification-needed-noble-linux-oem-6.14
Leo Lin (0xff07)
tags: added: jira-stella-1417
tags: added: jira-stella-1609
tags: added: jira-stella-1438
tags: added: jira-stella-1556
tags: added: jira-stella-1634
tags: added: jira-stella-1698
tags: added: jira-stella-1684
tags: added: jira-stella-1761
Leo Lin (0xff07)
tags: added: jira-somerville-1761
tags: added: jira-somerville-1872
tags: added: jira-somerville-1941
tags: added: jira-somerville-1986
tags: added: jira-somerville-1961
tags: added: jira-somerville-1989
tags: added: jira-somerville-1939
tags: added: jira-somerville-2018
tags: added: jira-somerville-2006
tags: added: jira-somerville-2029
tags: added: jira-somerville-2206
tags: added: jira-somerville-2301
tags: added: jira-somerville-2099
tags: added: jira-somerville-2288
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-oem-6.14 (Ubuntu):
status: New → Confirmed
Revision history for this message
Bin Li (binli) wrote :

Hi leo,

 Do you plan to fix this issue on 6.11-oem kernel? Thanks!

kernel: linux-oem-6.11.0-1024.24

Jul 01 12:03:17 Kun-3 kernel: spd5118 2-0050: Failed to write b = 0: -6
Jul 01 12:03:17 Kun-3 kernel: spd5118 2-0050: PM: dpm_run_callback(): spd5118_resume [spd5118] returns -6
Jul 01 12:03:17 Kun-3 kernel: spd5118 2-0050: PM: failed to resume async: error -6

tags: added: jira-sutton-1993 jira-sutton-1994
tags: added: jira-sutton-2334
Revision history for this message
Bin Li (binli) wrote (last edit ):

Here is another machine with different id.

Jul 01 03:48:37 localhost kernel: spd5118 6-0050: PM: dpm_run_callback(): spd5118_resume [spd5118] returns -6
Jul 01 03:48:37 localhost kernel: spd5118 6-0050: PM: failed to resume async: error -6
Jul 01 03:48:37 localhost kernel: i915 0000:00:02.0: [drm] GT0: GUC: submission enabled

Revision history for this message
Leo Lin (0xff07) wrote (last edit ):

Hi @binli, AFAIK 6.11-oem has reached EOL and there won't be any SRU cycle in the future. I could backport this if there were additional cycle.

Revision history for this message
Leo Lin (0xff07) wrote :

Verified the 6.14-oem 1006 kernel on one of the platform (WAFR14-PV-SKU4-1), and confirmed that previously instantiated sensor didn't get instantiate.

tags: added: verification-done-noble-linux-oem-6.14
removed: verification-needed-noble-linux-oem-6.14
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.7 KiB)

This bug was fixed in the package linux-oem-6.14 - 6.14.0-1006.6

---------------
linux-oem-6.14 (6.14.0-1006.6) noble; urgency=medium

  * noble/linux-oem-6.14: 6.14.0-1006.6 -proposed tracker (LP: #2114278)

  * Enable AMD ACP70/ACP71 and relevant soundwire support (LP: #2098457)
    - ASoC: amd: ps: rename structure names, variable and other macros
    - ASoC: amd: ps: add acp pci driver hw_ops for acp6.3 platform
    - ASoC: amd: ps: add callback functions for acp pci driver pm ops
    - ASoC: amd: ps: add callback to read acp pin configuration
    - ASoC: amd: ps: add soundwire dma irq thread callback
    - ASoC: amd: ps: refactor soundwire dma interrupt handling
    - ASoC: amd: ps: store acp revision id in SoundWire dma driver private
      data
    - ASoC: amd: ps: refactor soundwire dma driver code
    - ASoC: amd: ps: refactor soundwire dma interrupts enable/disable sequence
    - ASoC: amd: ps: rename acp_restore_sdw_dma_config() function
    - ASoC: amd: ps: add pci driver hw_ops for ACP7.0 & ACP7.1 variants
    - ASoC: amd: ps: add pm ops related hw_ops for ACP7.0 & ACP7.1 platforms
    - ASoC: amd: ps: add ACP7.0 & ACP7.1 specific soundwire dma driver changes
    - ASoC: amd: ps: implement function to restore dma config for ACP7.0
      platform
    - ASoC: amd: ps: add soundwire dma interrupts handling for ACP7.0 platform
    - ASoC: amd: ps: add soundwire wake interrupt handling
    - ASoC: amd: ps: update file description and copyright year
    - ASoC: amd: update Pink Sardine platform Kconfig description
    - ASoC: amd: acp: add machine driver changes for ACP7.0 and ACP7.1
      platforms
    - ASoC: amd: acp: add RT711, RT714 & RT1316 support for ACP7.0 platform
    - ASoC: amd: acp: amd-acp70-acpi-match: Add rt722 support
    - ASoC: amd: acp: amd-acp70-acpi-match: Add RT1320 & RT722 combination
      soundwire machine
    - [Config] Enable ACP70-related configs form AMD platforms
    - soundwire: amd: change the soundwire wake enable/disable sequence
    - soundwire: amd: add debug log for soundwire wake event
    - soundwire: amd: add support for ACP7.0 & ACP7.1 platforms
    - soundwire: amd: set device power state during suspend/resume sequence
    - soundwire: amd: set ACP_PME_EN during runtime suspend sequence
    - soundwire: amd: add soundwire host wake interrupt enable/disable
      sequence
    - ASoC: amd: ps: use switch statements for acp pci revision id check
    - [Config] Revert Enable ACP70-related configs form AMD platforms

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

  * [SRU] Add support for new hotkey of F9 on Thinkpad X9 (LP: #2115022)
    - platform/x86: thinkpad-acpi: Add support for new hotkey for camera
      shutter switch

  * [SRU] Do not instantiate SPD5118 sensors on i801 SMBus controllers
    (LP: #2114963)
    - i2c: smbus: introduce Write Disable-aware SPD instantiating functions
    - i2c: i801: Do not instantiate spd5118 under SPD Write Disable

  * [SRU] Add rfkill_poll callback to mt7925 driver (LP: #2114957)
    - wifi: mt76: mt7996: add macros for pci device ids
    - wifi: mt76: connac: add support to load firmware for mt7990
    - wifi: mt76: mt7996: rewo...

Read more...

Changed in linux-oem-6.14 (Ubuntu Noble):
status: Fix Committed → Fix Released
Revision history for this message
Phoenix Liao (phoenixliao) wrote :

Hi @Leo
From my understanding, there's an additional oem6.11 cycle. (s2025.06.16)
Would you help to backport it to oem6.11?

Changed in linux-oem-6.14 (Ubuntu Questing):
status: Confirmed → Invalid
tags: added: kernel-daily-bug
Changed in linux (Ubuntu Questing):
status: New → In Progress
Changed in linux (Ubuntu Plucky):
status: New → In Progress
Changed in linux (Ubuntu Noble):
status: New → Deferred
Changed in linux (Ubuntu Plucky):
assignee: nobody → Alice C. Munduruca (cremfuelled)
Changed in linux (Ubuntu Questing):
assignee: nobody → Alice C. Munduruca (cremfuelled)
Changed in linux (Ubuntu Noble):
assignee: nobody → Alice C. Munduruca (cremfuelled)
Changed in linux (Ubuntu Plucky):
importance: Undecided → High
Changed in linux (Ubuntu Noble):
importance: Undecided → Medium
Changed in linux (Ubuntu Questing):
importance: Undecided → High
Changed in linux-oem-6.14 (Ubuntu Plucky):
status: New → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 6.17.0-4.4

---------------
linux (6.17.0-4.4) questing; urgency=medium

  * questing/linux: 6.17.0-4.4 -proposed tracker (LP: #2122321)

  * [SRU] Do not instantiate SPD5118 sensors on i801 SMBus controllers
    (LP: #2114963)
    - SAUCE: i2c: i801: Do not instantiate spd5118 under SPD Write Disable

  * initramfs-tools: autopkgtest fails on arm64 with Possible missing firmware
    /lib/firmware/apple/dfrmtfw-*.bin for built-in driver apple_z2
    (LP: #2115758)
    - [Config] Set TOUCHSCREEN_APPLE_Z2=m (arm64)

  * Support TDX host in questing (LP: #2121873)
    - SAUCE: x86/kexec: Consolidate relocate_kernel() function parameters
    - SAUCE: x86/sme: Use percpu boolean to control WBINVD during kexec
    - SAUCE: x86/virt/tdx: Mark memory cache state incoherent when making
      SEAMCALL
    - SAUCE: x86/kexec: Disable kexec/kdump on platforms with TDX partial
      write erratum
    - SAUCE: x86/virt/tdx: Remove the !KEXEC_CORE dependency
    - SAUCE: x86/virt/tdx: Update the kexec section in the TDX documentation
    - SAUCE: KVM: TDX: Explicitly do WBINVD when no more TDX SEAMCALLs
    - [Config] enable TDX host support

  * minimal kernel lacks modules for blk disk in arm64 openstack environments
    where config_drive is required (LP: #2118499)
    - [Config] Enable SYM53C8XX_2 on arm64

  * Miscellaneous Ubuntu changes
    - [Config] Re-enable Rust support, and make sure it doesn't get disabled
      by accident
    - [Config] updateconfigs for v6.17-rc5 rebase

 -- Timo Aaltonen <email address hidden> Mon, 08 Sep 2025 17:10:38 +0300

Changed in linux (Ubuntu Questing):
status: In Progress → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.17/6.17.0-1004.4 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-noble-linux-oem-6.17' to 'verification-done-noble-linux-oem-6.17'. If the problem still exists, change the tag 'verification-needed-noble-linux-oem-6.17' to 'verification-failed-noble-linux-oem-6.17'.

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: kernel-spammed-noble-linux-oem-6.17-v2 verification-needed-noble-linux-oem-6.17
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.