<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>