From a7672c468d8153e69059dbfbd6478bf8e58168d7 Mon Sep 17 00:00:00 2001 From: Daniel Kurtz Date: Fri, 30 Mar 2012 19:46:36 +0800 Subject: [PATCH] --- yaml --- r: 307121 b: refs/heads/master c: 26883c31b0799e76edf8f0ea8be48b64e09b2a7d h: refs/heads/master i: 307119: f8b47adaf78b01c1d62098efc3b9798466aeb52d v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/intel_i2c.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index f73872d3f772..56dfd3011ba6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3fdcf43192559f53305644d0c1e0f7dda398f091 +refs/heads/master: 26883c31b0799e76edf8f0ea8be48b64e09b2a7d diff --git a/trunk/drivers/gpu/drm/i915/intel_i2c.c b/trunk/drivers/gpu/drm/i915/intel_i2c.c index c12db7265893..99a04f8bcb1f 100644 --- a/trunk/drivers/gpu/drm/i915/intel_i2c.c +++ b/trunk/drivers/gpu/drm/i915/intel_i2c.c @@ -248,9 +248,10 @@ gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg, u32 val, loop; val = loop = 0; - do { - val |= *buf++ << (8 * loop); - } while (--len && ++loop < 4); + while (len && loop < 4) { + val |= *buf++ << (8 * loop++); + len -= 1; + } I915_WRITE(GMBUS3 + reg_offset, val); I915_WRITE(GMBUS1 + reg_offset,