Skip to content
Snippets Groups Projects
Commit 93da3ce4 authored by Joakim Nohlgård's avatar Joakim Nohlgård
Browse files

drivers/ng_at86rf2xx: Go to idle state before calling TX_COMPLETE event handler

parent 0fcb5146
Branches
No related tags found
No related merge requests found
...@@ -694,6 +694,7 @@ static void _isr_event(ng_netdev_t *device, uint32_t event_type) ...@@ -694,6 +694,7 @@ static void _isr_event(ng_netdev_t *device, uint32_t event_type)
/* read (consume) device status */ /* read (consume) device status */
irq_mask = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__IRQ_STATUS); irq_mask = ng_at86rf2xx_reg_read(dev, NG_AT86RF2XX_REG__IRQ_STATUS);
state = ng_at86rf2xx_get_status(dev); state = ng_at86rf2xx_get_status(dev);
if (irq_mask & NG_AT86RF2XX_IRQ_STATUS_MASK__RX_START) { if (irq_mask & NG_AT86RF2XX_IRQ_STATUS_MASK__RX_START) {
...@@ -709,10 +710,10 @@ static void _isr_event(ng_netdev_t *device, uint32_t event_type) ...@@ -709,10 +710,10 @@ static void _isr_event(ng_netdev_t *device, uint32_t event_type)
_receive_data(dev); _receive_data(dev);
} }
else if (state == NG_AT86RF2XX_STATE_TX_ARET_ON) { else if (state == NG_AT86RF2XX_STATE_TX_ARET_ON) {
ng_at86rf2xx_set_state(dev, dev->idle_state);
if (dev->event_cb && (dev->options & NG_AT86RF2XX_OPT_TELL_TX_END)) { if (dev->event_cb && (dev->options & NG_AT86RF2XX_OPT_TELL_TX_END)) {
dev->event_cb(NETDEV_EVENT_TX_COMPLETE, NULL); dev->event_cb(NETDEV_EVENT_TX_COMPLETE, NULL);
} }
ng_at86rf2xx_set_state(dev, dev->idle_state);
DEBUG("[ng_at86rf2xx] EVT - TX_END\n"); DEBUG("[ng_at86rf2xx] EVT - TX_END\n");
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment