at86rf230: remove unnecessary tx state change

All supported transceivers can do a valid state change from TRX_OFF to
AACK_ON. This patch removes the state change chain from TRX_OFF ->
TX_ON -> AACK_ON instead we doing a directly state change from TRX_OFF
to AACK_ON.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Alexander Aring 2015-04-30 17:45:01 +02:00 committed by Marcel Holtmann
parent 3b951ca7d2
commit 2f8cdd9509

View File

@ -780,16 +780,6 @@ at86rf230_tx_on(void *context)
at86rf230_tx_complete, true);
}
static void
at86rf230_tx_trac_error(void *context)
{
struct at86rf230_state_change *ctx = context;
struct at86rf230_local *lp = ctx->lp;
at86rf230_async_state_change(lp, ctx, STATE_TX_ON,
at86rf230_tx_on, true);
}
static void
at86rf230_tx_trac_check(void *context)
{
@ -799,12 +789,12 @@ at86rf230_tx_trac_check(void *context)
const u8 trac = (buf[1] & 0xe0) >> 5;
/* If trac status is different than zero we need to do a state change
* to STATE_FORCE_TRX_OFF then STATE_TX_ON to recover the transceiver
* state to TX_ON.
* to STATE_FORCE_TRX_OFF then STATE_RX_AACK_ON to recover the
* transceiver.
*/
if (trac)
at86rf230_async_state_change(lp, ctx, STATE_FORCE_TRX_OFF,
at86rf230_tx_trac_error, true);
at86rf230_tx_on, true);
else
at86rf230_tx_on(context);
}