master/master.c
changeset 81 28b1defdcc88
parent 77 677967864795
child 82 30d0708229b9
--- a/master/master.c	Fri Feb 24 13:14:51 2006 +0000
+++ b/master/master.c	Fri Feb 24 13:34:31 2006 +0000
@@ -483,8 +483,8 @@
             return -1;
 
         // Check if slave was registered...
-        if (!slave->type || !slave->registered) {
-            printk(KERN_INFO "EtherCAT: Slave %i was not registered.\n", i);
+        if (!slave->type) {
+            printk(KERN_INFO "EtherCAT: Slave %i has unknown type!\n", i);
             continue;
         }
 
@@ -541,6 +541,14 @@
         if (unlikely(ec_slave_state_change(slave, EC_SLAVE_STATE_PREOP)))
             return -1;
 
+        // Slaves that are not registered are only brought into PREOP
+        // state -> nice blinking and mailbox comm. possible
+        if (!slave->registered) {
+            printk(KERN_WARNING "EtherCAT: Slave %i was not registered!\n",
+                   slave->ring_position);
+            continue;
+        }
+
         // Set FMMUs
         for (j = 0; j < slave->fmmu_count; j++)
         {