You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@mynewt.apache.org by "Marko Kiiskila (JIRA)" <ji...@apache.org> on 2017/11/22 18:32:00 UTC

[jira] [Resolved] (MYNEWT-865) hal i2c lockup on nrf platform if timeout is too short

     [ https://issues.apache.org/jira/browse/MYNEWT-865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marko Kiiskila resolved MYNEWT-865.
-----------------------------------
    Resolution: Fixed

The PR with a fix has now been merged.

> hal i2c lockup on nrf platform if timeout is too short
> ------------------------------------------------------
>
>                 Key: MYNEWT-865
>                 URL: https://issues.apache.org/jira/browse/MYNEWT-865
>             Project: Mynewt
>          Issue Type: Bug
>      Security Level: Public(Viewable by anyone) 
>          Components: HAL
>    Affects Versions: v1_2_0_rel
>            Reporter: William San Filippo
>            Assignee: Marko Kiiskila
>             Fix For: v1_3_0_rel
>
>
> The nordic TWI (i2c) interface locked up when a too short timeout was applied. Not sure of all the details here but I believe another transaction was started and that this transaction caused the TWI interface to become unresponsive.
> The basic issue here is that the timeout is in os ticks and it is possible, given the current code implementation, that there is basically no timeout applied as a timeout of 1 os tick will give you a timeout of 0 to 1 os tick (in msecs).
> Another issue is that the code does not attempt to calculate whether the timeout is too short given the length of i2c data to be sent, the clock frequency and the time per os tick.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)