[riot-commits] [RIOT-OS/RIOT] 4ebbda: drivers/at86rf2xx: improve precondition checks on ...

Martine Lenders authmillenon at gmail.com
Fri Nov 4 20:26:54 CET 2016


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: 4ebbda844c19d2d3ee6be43d395083082583f707
      https://github.com/RIOT-OS/RIOT/commit/4ebbda844c19d2d3ee6be43d395083082583f707
  Author: Thomas Eichinger <thomas.eichinger1 at gmail.com>
  Date:   2016-11-01 (Tue, 01 Nov 2016)

  Changed paths:
    M drivers/at86rf2xx/at86rf2xx_getset.c

  Log Message:
  -----------
  drivers/at86rf2xx: improve precondition checks on state transition

The rational behind this change is the following:
If the transceiver is in any *_BUSY state when `at86rf2xx_set_state()`
gets called this would bypass the `(state == old_state)` check and
unneeded state transitions could be triggered.


  Commit: 66db33b662d5c3d1ba0b233c4a7df2abc256693a
      https://github.com/RIOT-OS/RIOT/commit/66db33b662d5c3d1ba0b233c4a7df2abc256693a
  Author: Thomas Eichinger <thomas.eichinger1 at gmail.com>
  Date:   2016-11-04 (Fri, 04 Nov 2016)

  Changed paths:
    M drivers/at86rf2xx/at86rf2xx_getset.c

  Log Message:
  -----------
  drivers/at86rf2xx: prevent a possible race condition after state change

It was pointed out that after a state change to RX_AACK_ON reading back
the state to confirm the transition can fail due to an imidiate change
into BUSY_RX_AACK between the successful change on the transceiver and
querying the state.
For this we exclude the readback of the state for transitions to
RX_AACK_ON.


  Commit: 64c62e837aa311919514c6704239b325d058de22
      https://github.com/RIOT-OS/RIOT/commit/64c62e837aa311919514c6704239b325d058de22
  Author: Martine Lenders <authmillenon at gmail.com>
  Date:   2016-11-04 (Fri, 04 Nov 2016)

  Changed paths:
    M drivers/at86rf2xx/at86rf2xx_getset.c

  Log Message:
  -----------
  Merge pull request #5244 from thomaseichinger/pr/rf2xx_better_state_check

drivers/at86rf2xx: improve precondition checks on state transition


Compare: https://github.com/RIOT-OS/RIOT/compare/7974bf2cd8e5...64c62e837aa3


More information about the commits mailing list