<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/i3c, branch linux-5.0.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>i3c: Fix a shift wrap bug in i3c_bus_set_addr_slot_status()</title>
<updated>2019-05-10T16:36:14+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2019-04-23T10:40:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=be4b9a303a25614f92ef1574a1af730ec358fc04'/>
<id>be4b9a303a25614f92ef1574a1af730ec358fc04</id>
<content type='text'>
commit 476c7e1d34f2a03b1aa5a924c50703053fe5f77c upstream.

The problem here is that addr can be I3C_BROADCAST_ADDR (126).  That
means we're shifting by (126 * 2) % 64 which is 60.  The
I3C_ADDR_SLOT_STATUS_MASK is an enum which is an unsigned int in GCC
so shifts greater than 31 are undefined.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 476c7e1d34f2a03b1aa5a924c50703053fe5f77c upstream.

The problem here is that addr can be I3C_BROADCAST_ADDR (126).  That
means we're shifting by (126 * 2) % 64 which is 60.  The
I3C_ADDR_SLOT_STATUS_MASK is an enum which is an unsigned int in GCC
so shifts greater than 31 are undefined.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: Fix the verification of random PID</title>
<updated>2019-04-27T07:37:40+00:00</updated>
<author>
<name>Vitor Soares</name>
<email>vitor.soares@synopsys.com</email>
</author>
<published>2019-04-09T16:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=922270b4f0182c0f00284881b2e4eb98a76d1232'/>
<id>922270b4f0182c0f00284881b2e4eb98a76d1232</id>
<content type='text'>
commit 9752c37cc89f43675e70cf9acff23519fa84b48c upstream.

The validation of random PID should be done by checking the
boardinfo-&gt;pid instead of info.pid which is empty.

Doing the change the info struture declaration is no longer necessary.

Cc: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9752c37cc89f43675e70cf9acff23519fa84b48c upstream.

The validation of random PID should be done by checking the
boardinfo-&gt;pid instead of info.pid which is empty.

Doing the change the info struture declaration is no longer necessary.

Cc: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: dw: Fix dw_i3c_master_disable controller by using correct mask</title>
<updated>2019-04-27T07:37:40+00:00</updated>
<author>
<name>Vitor Soares</name>
<email>vitor.soares@synopsys.com</email>
</author>
<published>2019-04-08T11:13:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=33a3fff44a0f926269d46eef3e5547bf54fe77e7'/>
<id>33a3fff44a0f926269d46eef3e5547bf54fe77e7</id>
<content type='text'>
commit 907621e94d49b85cd76f13110eceb940a182c69e upstream.

The controller was being disabled incorrectly. The correct way is to clear
the DEV_CTRL_ENABLE bit.

Fix this by clearing this bit.

Cc: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Fixes: 1dd728f5d4d4 ("i3c: master: Add driver for Synopsys DesignWare IP")
Signed-off-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 907621e94d49b85cd76f13110eceb940a182c69e upstream.

The controller was being disabled incorrectly. The correct way is to clear
the DEV_CTRL_ENABLE bit.

Fix this by clearing this bit.

Cc: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Fixes: 1dd728f5d4d4 ("i3c: master: Add driver for Synopsys DesignWare IP")
Signed-off-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: master: dw: fix deadlock</title>
<updated>2019-01-26T10:14:25+00:00</updated>
<author>
<name>Jisheng Zhang</name>
<email>Jisheng.Zhang@synaptics.com</email>
</author>
<published>2019-01-25T07:29:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f36c1f9a8dfd6a78e6c3fe7aff5e722b84307597'/>
<id>f36c1f9a8dfd6a78e6c3fe7aff5e722b84307597</id>
<content type='text'>
In dw_i3c_master_irq_handler(), we already have gotten
&amp;master-&gt;xferqueue.lock, if we try to get the same lock again in
dw_i3c_master_dequeue_xfer(), deadlock happens.

We fix this issue by introduing dw_i3c_master_dequeue_xfer_locked()
which does all what dw_i3c_master_dequeue_xfer() does without trying
to lock &amp;master-&gt;xferqueue.lock.

Signed-off-by: Jisheng Zhang &lt;Jisheng.Zhang@synaptics.com&gt;
Acked-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In dw_i3c_master_irq_handler(), we already have gotten
&amp;master-&gt;xferqueue.lock, if we try to get the same lock again in
dw_i3c_master_dequeue_xfer(), deadlock happens.

We fix this issue by introduing dw_i3c_master_dequeue_xfer_locked()
which does all what dw_i3c_master_dequeue_xfer() does without trying
to lock &amp;master-&gt;xferqueue.lock.

Signed-off-by: Jisheng Zhang &lt;Jisheng.Zhang@synaptics.com&gt;
Acked-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: fix missing detach if failed to retrieve i3c dev</title>
<updated>2019-01-25T07:48:01+00:00</updated>
<author>
<name>Jisheng Zhang</name>
<email>Jisheng.Zhang@synaptics.com</email>
</author>
<published>2019-01-25T07:40:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=093c61b6a0d5768f48442ec59d671496314cc47d'/>
<id>093c61b6a0d5768f48442ec59d671496314cc47d</id>
<content type='text'>
If we failed to retrieve the i3c dev, we should detach the i3c dev
I.E i3c_master_detach_i3c_dev().

Signed-off-by: Jisheng Zhang &lt;Jisheng.Zhang@synaptics.com&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we failed to retrieve the i3c dev, we should detach the i3c dev
I.E i3c_master_detach_i3c_dev().

Signed-off-by: Jisheng Zhang &lt;Jisheng.Zhang@synaptics.com&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: master: dw-i3c-master: fix i3c_attach/reattach</title>
<updated>2019-01-15T10:15:11+00:00</updated>
<author>
<name>Vitor Soares</name>
<email>vitor.soares@synopsys.com</email>
</author>
<published>2019-01-10T15:34:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f29fd331aa055fbeb5a496b4af937b7952111b6b'/>
<id>f29fd331aa055fbeb5a496b4af937b7952111b6b</id>
<content type='text'>
This patch fix i3c_attach/reattach functions.

During the i3c_attach the driver ignores the static address used for
SETDASA CCC command.

During the i3c_reattach the driver doesn't update master-&gt;addrs[data-&gt;index]
with new address if old_dyn_addr = 0.

Fixes: 1dd728f5d4d4 ("i3c: master: Add driver for Synopsys DesignWare IP")
Signed-off-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fix i3c_attach/reattach functions.

During the i3c_attach the driver ignores the static address used for
SETDASA CCC command.

During the i3c_reattach the driver doesn't update master-&gt;addrs[data-&gt;index]
with new address if old_dyn_addr = 0.

Fixes: 1dd728f5d4d4 ("i3c: master: Add driver for Synopsys DesignWare IP")
Signed-off-by: Vitor Soares &lt;vitor.soares@synopsys.com&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: master: Fix an error checking typo in 'cdns_i3c_master_probe()'</title>
<updated>2019-01-07T13:18:17+00:00</updated>
<author>
<name>Christophe JAILLET</name>
<email>christophe.jaillet@wanadoo.fr</email>
</author>
<published>2018-12-29T00:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0fac32f24ceadad801ef1f4de468f1d5186c808d'/>
<id>0fac32f24ceadad801ef1f4de468f1d5186c808d</id>
<content type='text'>
Fix a cut'n'paste typo.
Checking 'master-&gt;sysclk' is expected here.

Fixes: 603f2bee2c54 ("i3c: master: Add driver for Cadence IP")
Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a cut'n'paste typo.
Checking 'master-&gt;sysclk' is expected here.

Fixes: 603f2bee2c54 ("i3c: master: Add driver for Cadence IP")
Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: master: cdns: fix I2C transfers in Cadence I3C master driver</title>
<updated>2018-12-12T16:08:32+00:00</updated>
<author>
<name>Przemyslaw Gaj</name>
<email>pgaj@cadence.com</email>
</author>
<published>2018-12-12T11:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=25ac3da61ba144f8dbfe377eeec6b1da7ad0854a'/>
<id>25ac3da61ba144f8dbfe377eeec6b1da7ad0854a</id>
<content type='text'>
This patch fixes I2C transfers in Cadence I3C master driver.
There was no way to queue more than one I2C transfer before.

Fixes: 603f2bee2c54 ("i3c: master: Add driver for Cadence IP")
Signed-off-by: Przemyslaw Gaj &lt;pgaj@cadence.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@bootlin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes I2C transfers in Cadence I3C master driver.
There was no way to queue more than one I2C transfer before.

Fixes: 603f2bee2c54 ("i3c: master: Add driver for Cadence IP")
Signed-off-by: Przemyslaw Gaj &lt;pgaj@cadence.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@bootlin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ic3: off by one in mode_show()</title>
<updated>2018-12-05T16:22:58+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2018-11-23T07:15:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=afe120c777b7a6aa23b8c8a5fedae9201a7ced0c'/>
<id>afe120c777b7a6aa23b8c8a5fedae9201a7ced0c</id>
<content type='text'>
This should be &gt;= ARRAY_SIZE() to avoid reading one element beyond the
end of the array.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@bootlin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should be &gt;= ARRAY_SIZE() to avoid reading one element beyond the
end of the array.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@bootlin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i3c: fix an error code in i3c_master_add_i3c_dev_locked()</title>
<updated>2018-12-05T16:22:58+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2018-11-23T07:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=840414ae59d8858bca0a704e7f9c910d661348d7'/>
<id>840414ae59d8858bca0a704e7f9c910d661348d7</id>
<content type='text'>
We should return "ret" as-is.  The "newdev" variable is a valid pointer.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@bootlin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should return "ret" as-is.  The "newdev" variable is a valid pointer.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Boris Brezillon &lt;boris.brezillon@bootlin.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
