Re: i2c i801 Host Notify breaks HP G3 850 booting while plugged in

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

 



On Wed, Apr 4, 2018 at 11:03 AM, Jean Delvare <jdelvare@xxxxxxx> wrote:
> Hi Jason,
>
> On Mon, 12 Mar 2018 13:30:28 -0400, Jason Andryuk wrote:
>> Short of a BIOS fix, could we blacklist Host Notify on known-bad
>> machines?  Does other functionality break if Host Notify is disabled?
>> I don't know what Host Notify is used for, if anything, on these
>> laptops.
>
> As far as I know, the only use case for Host Notify on i2c-i801 is the
> touchpad on certain laptop models. If the touchpad still works OK after
> disabling Host Notify, I guess you are good.

Yes, the touchpad works with Host Notify disabled.

> I'm fine with blacklisting, at least until the bug is understood and
> fixed.

See below.  It's not an i2c bug, but a firmware bug from what I can tell.

> Out of curiosity, does the bug still happen if i2c-i801 is built as a
> module?

Yes, it hangs with modules.  When I was testing with Fedora (which I
just retested with for below), i2c_i801 is a module and provokes the
hang.

> If it does, then one thing you could test is to boot with
> i2c_i801.disable_features=0x20, then rmmod i2c-i801 and load it again
> but without disable_features=0x20. If it still hangs then at least you
> would have a running system to diagnose the problem. If we knew where
> it hangs when maybe we could come up with a fix or at least workaround.

I went through this scenario, and it still hangs on subsequent boot.
The boot hang is actually in the boot loader code.

The problem scenario with an un-patched kernel and no options:
1) Power on system
2) Linux boots and enables SMBus Host Notify
3) Power off while plugged in
4) Boot system
5a) Hang in Legacy Grub graphical mode
or
5b) Hang in PXE boot code

Linux runs fine, it's something with enabling Host Notify that puts
the G3 850 firmware into a weird state.  On a subsequent boot, that
weird state throws off certain boot scenarios.

Weird state breaks:
Legacy Grub graphical mode
Intel Boot Agent PXE boot

Unaffected by weird state:
EFI Grub
Legacy Grub text mode

Unplugging the laptop seems to clear the weird state.  Rebooting is
not affected by the weird state.  Going into the BIOS/EFI setup seems
to clear the weird state.

Blacklisting Host Notify prevents the G3 850 from getting into the
weird state, so future plugged in booting just works.  So it's not an
i2c bug - it's a firmware bug triggered by Host Notify.

Regards,
Jason



[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