From 0fcb514644780e196b398c2ef4e8369d942d9487 Mon Sep 17 00:00:00 2001
From: Joakim Gebart <joakim.gebart@eistec.se>
Date: Mon, 20 Jul 2015 11:46:07 +0200
Subject: [PATCH] drivers/ng_at86rf2xx: Prevent stuck in TX_ARET_ON when doing
 multiple back-to-back transmissions

---
 drivers/ng_at86rf2xx/ng_at86rf2xx.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/ng_at86rf2xx/ng_at86rf2xx.c b/drivers/ng_at86rf2xx/ng_at86rf2xx.c
index 4f6b4f1ef9..22ffe7d382 100644
--- a/drivers/ng_at86rf2xx/ng_at86rf2xx.c
+++ b/drivers/ng_at86rf2xx/ng_at86rf2xx.c
@@ -215,8 +215,11 @@ void ng_at86rf2xx_tx_prepare(ng_at86rf2xx_t *dev)
     do {
         state = ng_at86rf2xx_get_status(dev);
     }
-    while (state == NG_AT86RF2XX_STATE_BUSY_RX_AACK);
-    dev->idle_state = state;
+    while (state == NG_AT86RF2XX_STATE_BUSY_RX_AACK ||
+           state == NG_AT86RF2XX_STATE_BUSY_TX_ARET);
+    if (state != NG_AT86RF2XX_STATE_TX_ARET_ON) {
+        dev->idle_state = state;
+    }
     ng_at86rf2xx_set_state(dev, NG_AT86RF2XX_STATE_TX_ARET_ON);
     dev->frame_len = NG_IEEE802154_FCS_LEN;
 }
-- 
GitLab