[SRU][Q/P/N][PATCH 0/11] UBUNTU: SAUCE: Do not instantiate SPD5118 sensors on i801 SMBus controllers
Stefan Bader
stefan.bader at canonical.com
Wed Sep 3 07:35:16 UTC 2025
On 02/09/2025 16:37, Alice C. Munduruca wrote:
> BugLink: https://bugs.launchpad.net/bugs/2114963
>
> [ 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]
> Noble: Many cherry picks from upstream needed to apply [3]
> and the backport from [2] Copied the annotation for
> the CONFIG_I2C_I801_MUX Kconfig option from plucky.
The many changes (specifically the first and the third seem to have the
potential to unexpectedly cause additional HW to be enabled) are a worry
and I would limit the fix to just P/Q to avoid regressions.
>
> 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.
>
> The addition of the context patches to Noble could introduce vulnerable code, although this would
> be the same code as in Plucky/Questing. For Plucky/Questing, changes are local and minor, and so at
> worst smbus would still be 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
>
> Guenter Roeck (1):
> i2c: smbus: Support DDR5 and LPDDR5 SPD EEPROMs
>
> Heiner Kallweit (2):
> i2c: i801: Call i2c_register_spd for muxed child segments
> i2c: i801: Fix missing Kconfig dependency
>
> Thomas Weißschuh (1):
> i2c: piix4: Register SPDs
>
> Wolfram Sang (1):
> i2c: i801: reword according to newest specification
>
> 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/Kconfig | 10 +++++
> drivers/i2c/busses/i2c-i801.c | 67 +++++++++++++++++++++++++++-------
> drivers/i2c/busses/i2c-piix4.c | 9 +++++
> drivers/i2c/i2c-smbus.c | 27 ++++++++++++--
> include/linux/i2c-smbus.h | 6 ++-
> 5 files changed, 101 insertions(+), 18 deletions(-)
>
-Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 48643 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20250903/f46b01cc/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20250903/f46b01cc/attachment-0001.sig>
More information about the kernel-team
mailing list