diff options
author | John Baldwin <jhb@FreeBSD.org> | 2015-12-17 20:33:20 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2015-12-17 20:33:20 +0000 |
commit | 544f1677473dacbae33495d66bc2e92d40e2c0b5 (patch) | |
tree | 55233d5b46642d9ac02dae763a511093efafa84f /sys/dev/drm2/i915 | |
parent | 22f393c35da39d9f6830226114233db6821d1953 (diff) | |
download | src-544f1677473dacbae33495d66bc2e92d40e2c0b5.tar.gz src-544f1677473dacbae33495d66bc2e92d40e2c0b5.zip |
t seems certain Intel GPUs use GPIO bitbanging over a child device
instead of GMBUS access for I2C transfers. The GMBUS driver falls back
to this mode when a transfer times out. However, the first transfer to
timeout was sending the request back to itself resulting in an panic due
to recursing on a lock. Fix it to forward the request on to the proper
device. This appears to have been accidentally changed in r277487.
Reported by: Joe Maloney <jmaloney@pcbsd.org>
Reviewed by: adrian, dumbbell, imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D4599
Notes
Notes:
svn path=/head/; revision=292409
Diffstat (limited to 'sys/dev/drm2/i915')
-rw-r--r-- | sys/dev/drm2/i915/intel_iic.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/drm2/i915/intel_iic.c b/sys/dev/drm2/i915/intel_iic.c index c04b27bf2422..aacc954bcec8 100644 --- a/sys/dev/drm2/i915/intel_iic.c +++ b/sys/dev/drm2/i915/intel_iic.c @@ -456,7 +456,7 @@ timeout: /* Hardware may not support GMBUS over these pins? Try GPIO bitbanging instead. */ sc->force_bit_dev = true; - error = -IICBUS_TRANSFER(adapter, msgs, num); + error = -IICBUS_TRANSFER(dev_priv->bbbus[unit], msgs, num); out: sx_xunlock(&dev_priv->gmbus_sx); |