opnsense-src/sys/dev/ichiic
Mark Johnston c491ffc3fb Revert r336326.
In testing on a Dell Latitude 7480, having ig4.ko loaded during a
suspend caused the system to hang.  It turns out that ig4iic_intr() was
being called after the device entered D3, and entered an infinite loop
because a read of the I2C status register returned all ones, causing us
to attempt to read a byte from the data buffer until one of the status
bits clears.  This occured because ig4iic_pci0 shares an interrupt with
the VGA device on this laptop, so ig4iic_intr() gets called even when
there is no work to do.  This is exactly the problem fixed by r342170,
which resolves the hang for me and allows suspend/resume to work with
ig4.ko loaded.  So, re-enable autoloading of ig4.ko in the hope that
r342170 resolves the problem universally.

Reviewed by:	gonzo
MFC after:	1 month (pending an MFC of r342170)
Differential Revision:	https://reviews.freebsd.org/D18587
2018-12-17 21:13:05 +00:00
..
ig4_acpi.c Distinguish _CID match and _HID match and make lower priority probe 2018-10-26 00:05:46 +00:00
ig4_iic.c [ig4] style(9) clean-up 2018-10-04 19:54:47 +00:00
ig4_pci.c Revert r336326. 2018-12-17 21:13:05 +00:00
ig4_reg.h [ig4] add ACPI Device HID for AMD platforms 2018-08-20 18:50:56 +00:00
ig4_var.h [ig4] Fix I/O timeout issue with Designware I2C controller on AMD platforms 2018-08-22 22:56:01 +00:00