Fixed blocking of EoE processing while entering or leaving operational mode.
--- a/master/master.c Tue Jan 09 14:36:08 2007 +0000
+++ b/master/master.c Tue Jan 09 14:51:00 2007 +0000
@@ -394,7 +394,7 @@
ec_datagram_t *datagram = &master->fsm.datagram;
ec_master_eoe_stop(master); // stop EoE timer
- master->eoe_checked = 0; // prevent from starting again by FSM
+ master->eoe_checked = 1; // prevent from starting again by FSM
master->mode = EC_MASTER_MODE_OPERATION;
while (!cancel_delayed_work(&master->idle_work)) {
@@ -432,7 +432,7 @@
}
}
- master->eoe_checked = 1; // allow starting EoE again
+ master->eoe_checked = 0; // allow starting EoE again
return 0;
@@ -455,7 +455,7 @@
ec_datagram_t *datagram = &master->fsm.datagram;
ec_master_eoe_stop(master); // stop EoE timer
- master->eoe_checked = 0; // prevent from starting again by FSM
+ master->eoe_checked = 1; // prevent from starting again by FSM
// wait for FSM datagram
if (datagram->state == EC_DATAGRAM_SENT) {