diff -r 8cd08d73b560 -r 28b1defdcc88 master/master.c --- 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++) {