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