diff -r 3ed80c8ed616 -r 78929d878b2c master/fsm_master.c --- a/master/fsm_master.c Fri Mar 09 13:16:12 2007 +0000 +++ b/master/fsm_master.c Fri Mar 09 13:24:15 2007 +0000 @@ -705,12 +705,11 @@ EC_INFO("Bus scanning completed.\n"); - ec_master_calc_addressing(master); - // set initial states of all slaves to PREOP to make mailbox // communication possible list_for_each_entry(slave, &master->slaves, list) { - ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP); + if (slave->requested_state == EC_SLAVE_STATE_UNKNOWN) + ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP); } fsm->state = ec_fsm_master_state_end;