master/slave.c
changeset 1000 5746fdd1ca2e
parent 992 50a44cbd30af
child 1055 2be8918682fa
--- a/master/slave.c	Thu Jun 12 09:19:06 2008 +0000
+++ b/master/slave.c	Thu Jun 12 09:32:25 2008 +0000
@@ -72,11 +72,10 @@
 {
     unsigned int i;
 
+    slave->master = master;
     slave->ring_position = ring_position;
     slave->station_address = station_address;
 
-    slave->master = master;
-
     slave->config = NULL;
     slave->requested_state = EC_SLAVE_STATE_PREOP;
     slave->current_state = EC_SLAVE_STATE_UNKNOWN;
@@ -88,6 +87,13 @@
     slave->base_build = 0;
     slave->base_fmmu_count = 0;
 
+    for (i = 0; i < EC_SLAVE_MAX_PORTS; i++) {
+        slave->ports[i].dl_link = 0;
+        slave->ports[i].dl_loop = 0;
+        slave->ports[i].dl_signal = 0;
+        slave->sii.physical_layer[i] = 0xFF;
+    }
+
     slave->sii_words = NULL;
     slave->sii_nwords = 0;
 
@@ -123,13 +129,6 @@
 
     slave->sdo_dictionary_fetched = 0;
     slave->jiffies_preop = 0;
-
-    for (i = 0; i < 4; i++) {
-        slave->dl_link[i] = 0;
-        slave->dl_loop[i] = 0;
-        slave->dl_signal[i] = 0;
-        slave->sii.physical_layer[i] = 0xFF;
-    }
 }
 
 /*****************************************************************************/