Module Name: src Committed By: snj Date: Mon Oct 15 03:09:07 UTC 2018
Modified Files: src/sys/dev/i2c [netbsd-8]: gttwsi_core.c gttwsivar.h Log Message: Pull up following revision(s) (requested by bouyer in ticket #1061): sys/dev/i2c/gttwsi_core.c: revision 1.4-1.8 via patch sys/dev/i2c/gttwsivar.h: revision 1.4 via patch Use IPL_VM for bus lock so we can do i2c xfers from interrupt context Don't sleep with IPL_VM lock held. When initiating a transfer, if a device isn't present, we won't get an ACK after sending the address. Check for this alternate state and suppress the error message when it occurs. Fixes PR kern/53356. Bail early if gttwsi_send_start() fails in gttwsi_initiate_xfer() to avoid unexpected state error message later (on Allwinner H5). Expand code covered by sc->sc_mtx, to make sure an interrupt would not be handled before the cv_timedwait_sig() call, or while polling. Seems to fix "sunxitwi0: send STOP failed" messages frequently seen related to axp20x0 sensors. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.2.12.1 src/sys/dev/i2c/gttwsi_core.c \ src/sys/dev/i2c/gttwsivar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.