Skip to content

at86rf2xx: Fix wrong state transition when leaving sleep state#8195

Closed
jnohlgard wants to merge 1 commit intoRIOT-OS:masterfrom
jnohlgard:pr/at86rf2xx-sleep-leave-bug
Closed

at86rf2xx: Fix wrong state transition when leaving sleep state#8195
jnohlgard wants to merge 1 commit intoRIOT-OS:masterfrom
jnohlgard:pr/at86rf2xx-sleep-leave-bug

Conversation

@jnohlgard
Copy link
Member

SLEEP is 0xf, the bitwise OR of
(AT86RF2XX_STATE_RX_AACK_ON | AT86RF2XX_STATE_TX_ARET_ON) equals 0x1f,
so this state transition to PLL_ON was wrongly triggered when leaving
sleep for any mode which has 0x1X as its state code. The symptom is a
hang in the transceiver driver thread because the transceiver is not
listening to state transition commands while in sleep mode.

I hit this bug when using ifconfig to set some options while the transceiver was sleeping.

SLEEP is 0xf, the bitwise OR of
(AT86RF2XX_STATE_RX_AACK_ON | AT86RF2XX_STATE_TX_ARET_ON) equals 0x1f,
so this state transition to PLL_ON was wrongly triggered when leaving
sleep for any mode which has 0x1X as its state code. The symptom is a
hang in the transceiver driver thread because the transceiver is not
listening to state transition commands while in sleep mode.
@jnohlgard jnohlgard added Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) Area: drivers Area: Device drivers Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Dec 1, 2017
@jnohlgard jnohlgard added this to the Release 2018.01 milestone Dec 1, 2017
@smlng
Copy link
Member

smlng commented Dec 1, 2017

already fixed in #8186?

@jnohlgard
Copy link
Member Author

I guess so, doh

@jnohlgard jnohlgard closed this Dec 1, 2017
@jnohlgard jnohlgard deleted the pr/at86rf2xx-sleep-leave-bug branch December 1, 2017 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: drivers Area: Device drivers Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants