diff -r 63a5b40eb7da -r b36d187ecc0b master/master.c --- a/master/master.c Mon Mar 27 12:04:55 2006 +0000 +++ b/master/master.c Mon Mar 27 15:52:08 2006 +0000 @@ -711,24 +711,17 @@ first = 0; } if (master->slave_states & EC_SLAVE_STATE_PREOP) { - if (!first) { - printk(", "); - first = 0; - } + if (!first) printk(", "); printk("PREOP"); + first = 0; } if (master->slave_states & EC_SLAVE_STATE_SAVEOP) { - if (!first) { - printk(", "); - first = 0; - } + if (!first) printk(", "); printk("SAVEOP"); + first = 0; } if (master->slave_states & EC_SLAVE_STATE_OP) { - if (!first) { - printk(", "); - first = 0; - } + if (!first) printk(", "); printk("OP"); } printk(")\n"); @@ -860,6 +853,14 @@ if (unlikely(ec_slave_state_change(slave, EC_SLAVE_STATE_PREOP))) return -1; + // Fetch SDO list + if (slave->sii_mailbox_protocols & EC_MBOX_COE) { + if (unlikely(ec_slave_fetch_sdo_list(slave))) { + EC_ERR("Could not fetch SDO list!\n"); + return -1; + } + } + // Slaves that are not registered are only brought into PREOP // state -> nice blinking and mailbox comm. possible if (!slave->registered && !slave->type->bus_coupler) {