lkml.org 
[lkml]   [2014]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] i2c: Re-instate body of i2c_parent_is_i2c_adapter()
On Mon, Jan 13, 2014 at 02:29:04PM -0700, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> The body of i2c_parent_is_i2c_adapter() is currently guarded by
> CONFIG_I2C_MUX instead.

This paragraph sounds strange to me. I'll update it a little. After that
I'll go looking for a brown paper bag...

> Among potentially other problems, this resulted in i2c_lock_adapter()
> only locking I2C mux child adapters, and not the parent adapter. In
> turn, this could allow inter-mingling of mux child selection and I2C
> transactions, which could result in I2C transactions being directed to
> the wrong I2C bus, and possibly even switching between busses in the
> middle of a transaction.
>
> One concrete issue caused by this bug was corrupted HDMI EDID reads
> during boot on the NVIDIA Tegra Seaboard system, although this only
> became apparent in recent linux-next, when the boot timing was changed
> just enough to trigger the race condition.
>
> Fixes: 3923172b3d70 ("i2c: reduce parent checking to a NOOP in non-I2C_MUX case")
> Cc: Phil Carmody <phil.carmody@partner.samsung.com>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Stephen Warren <swarren@nvidia.com>

Applied to for-current, thanks for catching this one!

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2014-01-14 17:41    [W:0.042 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site