From be9879cf185391777b6d5c495681686995a5822e Mon Sep 17 00:00:00 2001 From: Michael Karlsson Date: Wed, 21 Jan 2015 22:35:30 +0100 Subject: [PATCH] fixed error in saving status --- cpu/cc2538/dev/cc2538-rf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cpu/cc2538/dev/cc2538-rf.c b/cpu/cc2538/dev/cc2538-rf.c index 925cfa226..54f714b59 100644 --- a/cpu/cc2538/dev/cc2538-rf.c +++ b/cpu/cc2538/dev/cc2538-rf.c @@ -964,17 +964,18 @@ PROCESS_THREAD(cc2538_rf_process, ev, data) /* If we were polled due to an RF error, reset the transceiver */ if(rf_flags & RF_MUST_RESET) { + uint8_t was_on; rf_flags = 0; /* save state so we know if to switch on again after re-init */ if((REG(RFCORE_XREG_FSMSTAT0) & RFCORE_XREG_FSMSTAT0_FSM_FFCTRL_STATE) == 0) { - rf_flags |= WAS_OFF; + was_on = 0; } else { - rf_flags &= ~WAS_OFF; + was_on = 1; } off(); init(); - if ((rf_flags & WAS_OFF) != WAS_OFF) { + if (was_on) { /* switch back on */ on(); }