diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_i2c.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_i2c.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c index eb5827110d8f..49fdf09f9919 100644 --- a/drivers/gpu/drm/i915/intel_i2c.c +++ b/drivers/gpu/drm/i915/intel_i2c.c @@ -438,7 +438,9 @@ static bool  gmbus_is_index_read(struct i2c_msg *msgs, int i, int num)  {  	return (i + 1 < num && -		!(msgs[i].flags & I2C_M_RD) && msgs[i].len <= 2 && +		msgs[i].addr == msgs[i + 1].addr && +		!(msgs[i].flags & I2C_M_RD) && +		(msgs[i].len == 1 || msgs[i].len == 2) &&  		(msgs[i + 1].flags & I2C_M_RD));  }  |