Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed

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