<div dir="ltr">The code currently in git does not compile. A quick visual inspection shows <div style="">the obviously incorrect code. This is in raspberrypi/i2c/i2c.c around line 95.</div><div style="">I am guessing that the assignment is not intended to be in the conditional</div><div style="">expression but Jan needs to confirm that and submit a new patch.</div><div style=""><br></div><div style="">Did this make it to any branches?</div><div style=""><br></div><div style=""><div> /* Sleep until the TX FIFO has free space for a new write. */</div><div> if (</div><div> bus->task_id = rtems_task_self();</div><div> rtems_event_transient_receive(RTEMS_WAIT, bus->base.timeout) !=</div><div> RTEMS_SUCCESSFUL</div><div> ) {</div><div> rtems_event_transient_clear();</div><div><br></div><div> return -ETIMEDOUT;</div><div> }</div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 1, 2015 at 8:11 PM, Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">can you file a ticket and describe the bug this fixes. then #close the<br>
ticket with the commit message.<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Nov 30, 2015 at 5:16 PM, Jan Sommer<br>
<<a href="mailto:soja-lists@aries.uberspace.de">soja-lists@aries.uberspace.de</a>> wrote:<br>
> Before having the i2c device as an shared resource will create a deadlock because the taskid<br>
> for the transient_event is only stored during device registration.<br>
> ---<br>
> c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c | 1 +<br>
> 1 file changed, 1 insertion(+)<br>
><br>
> diff --git a/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c b/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c<br>
> index 14a2467..9bf90ec 100644<br>
> --- a/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c<br>
> +++ b/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c<br>
> @@ -91,6 +91,7 @@ static int rpi_i2c_bus_transfer(rpi_i2c_bus *bus)<br>
> BCM2835_REG(BCM2835_I2C_C) |= (1 << 9);<br>
><br>
> /* Sleep until the TX FIFO has free space for a new write. */<br>
> + bus->task_id = rtems_task_self();<br>
> if (<br>
> rtems_event_transient_receive(RTEMS_WAIT, bus->base.timeout) !=<br>
> RTEMS_SUCCESSFUL<br>
> --<br>
> 2.5.0<br>
><br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</div></div></blockquote></div><br></div>