[SRU][Q/P][PATCH v2 0/3] UBUNTU: SAUCE: Do not instantiate SPD5118 sensors on i801 SMBus controllers

Alice C. Munduruca alice.munduruca at canonical.com
Wed Sep 3 19:04:19 UTC 2025


BugLink: https://bugs.launchpad.net/bugs/2114963

v2 -> Removed Noble series from patchset due to regression potential.

[ 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

This commit has been sent to the upstream mailing list, but seems to have stalled there. [1]

[ Fix ]

Questing: Backported from [2]
Plucky: Cherry pick upstream version of 1st patch in PR [3]
        and backport from [2]

No changes were made to the original patch's code itself. Surrounding context had changed
between the original tree and the mainline ones, and so the lines of the commit were
manually moved into their original locations or as close as was possible.

[ 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.

The test above has been passed on each of the backports. (Also boot tested in a VM environment)

[ 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.

Changes are local and minor, and so at worst smbus might remain buggy or flaky on certain systems.

[Additional Information]

[1] https://lore.kernel.org/all/20250613-for-upstream-not-instantiate-spd5118-v2-1-cf456ed9b587@canonical.com/
[2] https://kernel.ubuntu.com/forgejo/kernel/noble-linux-oem/commit/cbb6c74a6507331f0bfd03b33fb763a1005b29ac
[3] https://kernel.ubuntu.com/forgejo/kernel/noble-linux-oem/pulls/226

Yo-Jung (Leo) Lin (2):
  i2c: smbus: introduce Write Disable-aware SPD instantiating functions
  UBUNTU: SAUCE: i2c: i801: Do not instantiate spd5118 under SPD Write
    Disable

 drivers/i2c/busses/i2c-i801.c  | 28 +++++++++++++++++++++++-----
 drivers/i2c/busses/i2c-piix4.c |  2 +-
 drivers/i2c/i2c-smbus.c        | 21 +++++++++++++++++++--
 include/linux/i2c-smbus.h      |  6 ++++--
 4 files changed, 47 insertions(+), 10 deletions(-)

-- 
2.48.1




More information about the kernel-team mailing list