master/master.c
changeset 261 44a3a5833c49
parent 259 87b20532872b
child 268 4f9c149fb71f
--- a/master/master.c	Fri May 26 14:26:57 2006 +0000
+++ b/master/master.c	Fri May 26 14:28:49 2006 +0000
@@ -853,14 +853,20 @@
             coupled++;
             EC_INFO("Coupling device %s to slave %i.\n",
                     eoe->dev->name, slave->ring_position);
-            if (eoe->opened)
+            if (eoe->opened) {
                 slave->requested_state = EC_SLAVE_STATE_OP;
+            }
+            else {
+                slave->requested_state = EC_SLAVE_STATE_INIT;
+            }
+            slave->state_error = 0;
             break;
         }
 
         if (!found) {
             EC_WARN("No EoE handler for slave %i!\n", slave->ring_position);
             slave->requested_state = EC_SLAVE_STATE_INIT;
+            slave->state_error = 0;
         }
     }
 
@@ -898,6 +904,7 @@
     list_for_each_entry(eoe, &master->eoe_handlers, list) {
         if (eoe->slave) {
             eoe->slave->requested_state = EC_SLAVE_STATE_INIT;
+            eoe->slave->state_error = 0;
             eoe->slave = NULL;
         }
     }
@@ -906,7 +913,6 @@
 }
 
 /*****************************************************************************/
-
 /**
    Does the Ethernet-over-EtherCAT processing.
 */