On Wed, Mar 07, 2012 at 07:50:46PM +0800, Daniel Kurtz wrote:
The i915 has multiple i2c adapters. However, they all share a single single set of i2c control registers (algorithm). Thus, different threads trying to access different adapters could interfere with each other.
Note: different threads trying to access the same channel is already handled in the i2c-core using the i2c adapter lock.
This patch adds a mutex to serialize access to the gmbus_xfer routine. Note: the same mutex serializes both bit banged and native xfers.
Signed-off-by: Yufeng Shen miletus@chromium.org Signed-off-by: Daniel Kurtz djkurtz@chromium.org
This is already fixed in
commit 8a8ed1f5143b3df312e436ab15290e4a7ca6a559 Author: Yufeng Shen miletus@chromium.org Date: Mon Feb 13 17:36:54 2012 -0500
drm/i915: Fix race condition in accessing GMBUS
There are also a few gmbus changes already queued up in my -next tree at
http://cgit.freedesktop.org/~danvet/drm-intel/log/?h=drm-intel-next-queued
Please rebase your patch series on top of that (with Chris' suggestion incorporated).
Thanks, Daniel