[PATCH] bsp/raspberrypi: Store the current taskid before waiting for the transient event in i2c-driver

Jan Sommer soja-lists at aries.uberspace.de
Tue Dec 29 23:32:55 UTC 2015


Am Tuesday 29 December 2015, 14:19:06 schrieb Joel Sherrill:

> The code currently in git does not compile. A quick visual inspection shows
> the obviously incorrect code. This is in raspberrypi/i2c/i2c.c around line
> 95.
That's weird. In the branch from which I created the patch the line is correct.
But in the patch the addition is moved one line down.


> I am guessing that the assignment is not intended to be in the conditional
> expression but Jan needs to confirm that and submit a new patch.
> 
> Did this make it to any branches?
> 
I just checked online in the rtems4.11 branch. There the i2c driver is not present.
If I am not mistaken this would mean it is only broken in master. I will post a new patch in a few.


>       /* Sleep until the TX FIFO has free space for a new write. */
>       if (
>           bus->task_id = rtems_task_self();
>           rtems_event_transient_receive(RTEMS_WAIT, bus->base.timeout) !=
>           RTEMS_SUCCESSFUL
>       ) {
>         rtems_event_transient_clear();
> 
>         return -ETIMEDOUT;
>       }
> 
> 
> On Tue, Dec 1, 2015 at 8:11 PM, Gedare Bloom <gedare at rtems.org> wrote:
> 

> > can you file a ticket and describe the bug this fixes. then #close the
> > ticket with the commit message.
> >
> > On Mon, Nov 30, 2015 at 5:16 PM, Jan Sommer
> > <soja-lists at aries.uberspace.de> wrote:


> > deadlock because the taskid


> > b/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c


> > !=


> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
> >


More information about the users mailing list