Re: [PATCH] i2c: i801: Fix SMBus ENXIO on resume from suspend.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am on one of those Intel Haswell with the ACPI OpRegion conflict, the
acpi handler was added to cope with.

Could it be the embedded controller code mess with the smbus ?
When I print the OpRegion fields via acpi-call I get different values
after suspend/resume from S3 than at runtime at various points.

I already checked that the acpi SBUS methods are not called.
To do so I define a global name set to zero and set it to 1 in
SBUS.STRT (called by all SBUS method to verify the ready state).

Could it be the EC access the region directly ?
The acpi handler from i2c-i801 does not trigger. Is it in effect when
suspending or resuming ?

The reproducer seems hard to get right, I am still investigating.
It involves resume from suspend (S3) and a yet to define state.
Most of the time after an acpi reset (magic sysrq 'b').
And / or early load of i2x-i801, rmi_smbus and psmouse.

To call the acpi methods I echo to /proc/acpi/call from the acpi-call
module. 

I tried https://github.com/pali/i2c-acpi-sbus .
It fails early as acpi sbus methods check the inuse host status flag.
It is always on thus they bail out. i2c-i801 does not test inuse
(0x40).


Best regards
Alban


Le lundi 20 novembre 2017 à 10:15 +0100, Jean Delvare a écrit :
> On Wed, 15 Nov 2017 21:25:25 +0100, Alban Browaeys wrote:
> > This fix is a partial one: it only fixes the issue once
> > we unload then reload i2c-i801 .
> > This as when we load a second time  orig_hstcfg is set to the value
> > the
> > first module load leftover.
> > Thus I will investigate the initial orig_hstcfg at boot to further
> > the
> > fix.
> > I bet this only a few missing bits like HST_EN.
> 
> Volker, I think you had a fix for that one? But I can't find it in
> the
> list archive :-(
> 



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux