<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/i2c, branch linux-4.10.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-4.10.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-4.10.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2017-03-18T11:18:39+00:00</updated>
<entry>
<title>i2c: add missing of_node_put in i2c_mux_del_adapters</title>
<updated>2017-03-18T11:18:39+00:00</updated>
<author>
<name>Qi Hou</name>
<email>qi.hou@windriver.com</email>
</author>
<published>2017-03-03T07:57:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=80eae855b694634ff2384885437fcf651dc5eb21'/>
<id>urn:sha1:80eae855b694634ff2384885437fcf651dc5eb21</id>
<content type='text'>
commit 2e1e4949f9dfb053122785cd73540bb1e61f768b upstream.

Refcount of of_node is increased with of_node_get() in i2c_mux_add_adapter().
It must be decreased with of_node_put() in i2c_mux_del_adapters().

Signed-off-by: Qi Hou &lt;qi.hou@windriver.com&gt;
Reviewed-by: Zhang Xiao &lt;xiao.zhang@windriver.com&gt;
Signed-off-by: Peter Rosin &lt;peda@axentia.se&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>i2c: bcm2835: Avoid possible NULL ptr dereference</title>
<updated>2017-03-18T11:18:38+00:00</updated>
<author>
<name>Stefan Wahren</name>
<email>stefan.wahren@i2se.com</email>
</author>
<published>2017-02-16T21:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3eded4f5bab12be59f4750658def0e2762aeebb7'/>
<id>urn:sha1:3eded4f5bab12be59f4750658def0e2762aeebb7</id>
<content type='text'>
commit ababb08938df7ac245d30a58b95b94ecf8dc04fc upstream.

Since commit e2474541032d ("bcm2835: Fix hang for writing messages
larger than 16 bytes") the interrupt handler is prone to a possible
NULL pointer dereference. This could happen if an interrupt fires
before curr_msg is set by bcm2835_i2c_xfer_msg() and randomly occurs
on the RPi 3. Even this is an unexpected behavior the driver must
handle that with an error instead of a crash.

Reported-by: Peter Robinson &lt;pbrobinson@gmail.com&gt;
Fixes: e2474541032d ("bcm2835: Fix hang for writing messages larger than 16 bytes")
Signed-off-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Acked-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "i2c: designware: detect when dynamic tar update is possible"</title>
<updated>2017-02-14T21:10:26+00:00</updated>
<author>
<name>Jarkko Nikula</name>
<email>jarkko.nikula@linux.intel.com</email>
</author>
<published>2017-02-13T09:18:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=12688dc21f71f4dcc9e2b8b5556b0c6cc8df1491'/>
<id>urn:sha1:12688dc21f71f4dcc9e2b8b5556b0c6cc8df1491</id>
<content type='text'>
This reverts commit 63d0f0a6952a1a02bc4f116b7da7c7887e46efa3.

It caused a regression on platforms where I2C controller is synthesized
with dynamic TAR update disabled. Detection code is testing is bit
DW_IC_CON_10BITADDR_MASTER in register DW_IC_CON read-only but fails to
restore original value in case bit is read-write.

Instead of fixing this we revert the commit since it was preparation for
the commit 0317e6c0f1dc ("i2c: designware: do not disable adapter after
transfer") which was also reverted.

Reported-by: Shah Nehal-Bakulchandra &lt;Nehal-bakulchandra.Shah@amd.com&gt;
Reported-by: Suravee Suthikulpanit &lt;suravee.suthikulpanit@amd.com&gt;
Acked-By: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.9+
Fixes: 63d0f0a6952a ("i2c: designware: detect when dynamic tar update is possible")
Signed-off-by: Jarkko Nikula &lt;jarkko.nikula@linux.intel.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: piix4: Request the SMBUS semaphore inside the mutex</title>
<updated>2017-02-09T16:13:01+00:00</updated>
<author>
<name>Ricardo Ribalda</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2017-02-02T19:15:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bbb27fc33d44e7b8d96369810654df4ee1837566'/>
<id>urn:sha1:bbb27fc33d44e7b8d96369810654df4ee1837566</id>
<content type='text'>
SMBSLVCNT must be protected with the piix4_mutex_sb800 in order to avoid
multiple buses accessing to the semaphore at the same time.

Fixes: 701dc207bf55 ("i2c: piix4: Avoid race conditions with IMC")
Reported-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: piix4: Fix request_region size</title>
<updated>2017-02-09T16:10:38+00:00</updated>
<author>
<name>Ricardo Ribalda</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2017-01-27T14:59:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f43128c75202f29ee71aa83e6c320a911137c189'/>
<id>urn:sha1:f43128c75202f29ee71aa83e6c320a911137c189</id>
<content type='text'>
Since '701dc207bf55 ("i2c: piix4: Avoid race conditions with IMC")' we
are using the SMBSLVCNT register at offset 0x8. We need to request it.

Fixes: 701dc207bf55 ("i2c: piix4: Avoid race conditions with IMC")
Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: imx-lpi2c: add VLLS mode support</title>
<updated>2017-01-25T23:24:23+00:00</updated>
<author>
<name>Gao Pan</name>
<email>pandy.gao@nxp.com</email>
</author>
<published>2017-01-17T10:20:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e13fe92bb58cf9b8f709ec18267ffc9e6ffeb016'/>
<id>urn:sha1:e13fe92bb58cf9b8f709ec18267ffc9e6ffeb016</id>
<content type='text'>
When system enters VLLS mode, module power is turned off. As a result,
all registers are reset to HW default value. After exiting VLLS mode,
registers are still in default mode. As a result, the pinctrl settings
are incorrect, which will affect the module function.

The patch recovers the pinctrl setting when exit VLLS mode.

Signed-off-by: Gao Pan &lt;pandy.gao@nxp.com&gt;
Reviewed-by: Vladimir Zapolskiy &lt;vz@mleia.com&gt;
[wsa: added missing include]
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: i2c-cadence: Initialize configuration before probing devices</title>
<updated>2017-01-25T21:07:40+00:00</updated>
<author>
<name>Mike Looijmans</name>
<email>mike.looijmans@topic.nl</email>
</author>
<published>2017-01-16T14:49:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0e1929dedea36781e25902118c93edd8d8f09af1'/>
<id>urn:sha1:0e1929dedea36781e25902118c93edd8d8f09af1</id>
<content type='text'>
The cadence I2C driver calls cdns_i2c_writereg(..) to setup a workaround
in the controller, but did so after calling i2c_add_adapter() which starts
probing devices on the bus. Change the order so that the configuration is
completely finished before using the adapter.

Signed-off-by: Mike Looijmans &lt;mike.looijmans@topic.nl&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: piix4: Avoid race conditions with IMC</title>
<updated>2017-01-12T19:52:12+00:00</updated>
<author>
<name>Ricardo Ribalda</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2017-01-11T09:11:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=701dc207bf551d9fe6defa36e84a911e880398c3'/>
<id>urn:sha1:701dc207bf551d9fe6defa36e84a911e880398c3</id>
<content type='text'>
On AMD's SB800 and upwards, the SMBus is shared with the Integrated
Micro Controller (IMC).

The platform provides a hardware semaphore to avoid race conditions
among them. (Check page 288 of the SB800-Series Southbridges Register
Reference Guide http://support.amd.com/TechDocs/45482.pdf)

Without this patch, many access to the SMBus end with an invalid
transaction or even with the bus stalled.

Reported-by: Alexandre Desnoyers &lt;alex@qtec.com&gt;
Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Reviewed-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;:
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: fix spelling mistake: "insufficent" -&gt; "insufficient"</title>
<updated>2017-01-12T19:24:43+00:00</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2016-12-29T22:27:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2659161dd40dbb599a19f320164373093df44a89'/>
<id>urn:sha1:2659161dd40dbb599a19f320164373093df44a89</id>
<content type='text'>
Trivial fix to spelling mistake in WARN message, insufficient has
an insufficient number of i's in the spelling.

Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: print correct device invalid address</title>
<updated>2017-01-12T19:06:15+00:00</updated>
<author>
<name>John Garry</name>
<email>john.garry@huawei.com</email>
</author>
<published>2017-01-06T11:02:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6f724fb3039522486fce2e32e4c0fbe238a6ab02'/>
<id>urn:sha1:6f724fb3039522486fce2e32e4c0fbe238a6ab02</id>
<content type='text'>
In of_i2c_register_device(), when the check for
device address validity fails we print the info.addr,
which has not been assigned properly.

Fix this by printing the actual invalid address.

Signed-off-by: John Garry &lt;john.garry@huawei.com&gt;
Reviewed-by: Vladimir Zapolskiy &lt;vz@mleia.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Fixes: b4e2f6ac1281 ("i2c: apply DT flags when probing")
Cc: stable@kernel.org
</content>
</entry>
</feed>
