Re: [PATCH v2] i2c: i801: Do not instantiate spd5118 under SPD Write Disable

From: Delaida Muminović

Date: Tue Jun 30 2026 - 02:42:59 EST


Tested on a machine that hits this exact bug:

Lenovo ThinkPad T14 Gen 6 (21QCS1NV00)
Fedora 44, kernel 7.0.13-200.fc44.x86_64
BIOS N4JET27W 1.17

dmesg confirms the trigger condition:

i801_smbus 0000:00:1f.4: SPD Write Disable is set

With the stock module the SPD device is instantiated:

i2c i2c-15: Successfully instantiated SPD at 0x50

spd5118 then binds at 15-0050 and resume fails with:

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

I refreshed this patch onto current torvalds master (it still applies; the
three hunks are unchanged) and rebuilt i2c-i801 against the 7.0.13 kernel.
With the patched module loaded, i801 detects SPD Write Disable and the SPD
device is no longer instantiated (no "Successfully instantiated SPD" line, no
*-0050 node), which removes the failing spd5118_resume() write path.

Note: mainline master still calls i2c_register_spd_write_enable()
unconditionally, so this fix does not appear to have landed yet. Any chance
of a respin / picking it up? Happy to test a v3.

Tested-by: Delaida Muminovic <delaidamuminovic2@xxxxxxxxx>