[riot-notifications] [RIOT-OS/RIOT] at86rf2xx: Use AWAKE_END IRQ to detect exit from SLEEP mode (#8230)

Joakim NohlgÄrd notifications at github.com
Mon Dec 11 16:34:24 CET 2017


gebart commented on this pull request.



> @@ -48,6 +49,8 @@ void at86rf2xx_setup(at86rf2xx_t *dev, const at86rf2xx_params_t *params)
     /* radio state is P_ON when first powered-on */
     dev->state = AT86RF2XX_STATE_P_ON;
     dev->pending_tx = 0;
+    mutex_init(&dev->mutex_sleep);
+    mutex_lock(&dev->mutex_sleep);

@biboc @miri64 is correct, the intention is that the mutex should be always locked and that the second mutex_lock call in the wakeup code will block until the mutex is unlocked from within the interrupt service routine (directly from within ISR context, not from the driver thread since that is blocked by the mutex)
Did you have real problems that the code got stuck on this line or did you not test? How could that happen when the mutex is initialized immediately above (which unconditionally sets the mutex to unlocked state)?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/8230#discussion_r156106608
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20171211/37f0da63/attachment.html>


More information about the notifications mailing list