diff -r 63177d870116 -r 47db5df5c7b3 master/ethernet.c --- a/master/ethernet.c Thu Dec 16 09:52:17 2010 +0100 +++ b/master/ethernet.c Thu Dec 16 11:23:32 2010 +0100 @@ -323,7 +323,8 @@ return; // if the datagram was not sent, or is not yet received, skip this cycle - if (eoe->queue_datagram || eoe->datagram.state == EC_DATAGRAM_SENT) + if (eoe->queue_datagram || + eoe->datagram.state == EC_DATAGRAM_SENT || eoe->datagram.state == EC_DATAGRAM_QUEUED) return; // call state function @@ -348,7 +349,7 @@ void ec_eoe_queue(ec_eoe_t *eoe /**< EoE handler */) { if (eoe->queue_datagram) { - ec_master_queue_datagram_ext(eoe->slave->master, &eoe->datagram); + ec_master_queue_fsm_datagram(eoe->slave->master, &eoe->datagram); eoe->queue_datagram = 0; } }