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.
This commit is contained in:
parent
e8ea29ce3a
commit
93e78d3449
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user