Re: [BUG] hwmon: (spd5118) resume fails -ENXIO on write protected hubs
From: Armin Wolf
Date: Mon Aug 17 2026 - 19:02:45 EST
Am 17.08.26 um 19:03 schrieb GG:
Understood - thanks for explaining the page selection part, that makes sense. I'll blacklist it for now.
Appreciate you taking the time to get back to me on this!
Gabriel G
On Monday, August 17th, 2026 at 12:58 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
On 8/17/26 09:42, GG wrote:
Sorry - I should have searched the archives before sending my last email. I've sinceUnfortunately that knowledge is not passed on to the spd5118 driver.
found this from February, which is the same problem:
https://lore.kernel.org/linux-hwmon/20260205102942.28745-1-tinsaetadesse2015@xxxxxxxxx/
And I missed the obvious clue sitting in my own boot log:
i801_smbus 0000:00:1f.4: SPD Write Disable is set
So my kernel already knew. Apologies for the noise.
Yes, sadly the patch series adding support for this was abandoned :/
One thing I'll mention in case it's useful: that series above has spd5118 refuse toThat can not be done, as I mentioned in my other e-mail.
probe when writes are disabled. On my machine that would lose me two working
temperature sensors. Reads are completely fine here, I get correct temps,
and my temperature limits read back properly. It's only writing that fails.
Happy to test anything on my hardware if it would help.
Problem is that accessing temperature sensor data on spd5118 compatible chips
requires a write to select the correct chip page. If writes are disabled, and
the BIOS selected a page other than page 0, temperature sensor data is not
accessible. Since the BIOS can do whatever it wants and may have selected a
different page after a suspend/resume sequence, one simply can not trust
the status when the driver is loaded initially.
Guenter
Would it be enough if we always select page 0 inside spd5118_i2c_init(), thereby
preventing the driver from probing on hardware that does not allow us to write
the page select register?
Thanks,
Armin Wolf