Author: jhb
Date: Mon Jan 18 20:44:29 2016
New Revision: 294292
URL: https://svnweb.freebsd.org/changeset/base/294292

Log:
  MFC 292409:
  It 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.

Modified:
  stable/10/sys/dev/drm2/i915/intel_iic.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/drm2/i915/intel_iic.c
==============================================================================
--- stable/10/sys/dev/drm2/i915/intel_iic.c     Mon Jan 18 20:22:51 2016        
(r294291)
+++ stable/10/sys/dev/drm2/i915/intel_iic.c     Mon Jan 18 20:44:29 2016        
(r294292)
@@ -467,8 +467,7 @@ timeout:
         * Try GPIO bitbanging instead.
         */
        sc->force_bit_dev = true;
-       error = -IICBUS_TRANSFER(idev, msgs, nmsgs);
-       goto out;
+       error = -IICBUS_TRANSFER(dev_priv->bbbus[unit], msgs, nmsgs);
 
 out:
        sx_xunlock(&dev_priv->gmbus_sx);
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to