master/master.c
changeset 467 2274de57ca84
parent 462 e6fac0c8bc92
child 481 d45c3111c0af
equal deleted inserted replaced
466:5f3758fdc3b5 467:2274de57ca84
   431         }
   431         }
   432     }
   432     }
   433 
   433 
   434     // set states for all slaves
   434     // set states for all slaves
   435     list_for_each_entry(slave, &master->slaves, list) {
   435     list_for_each_entry(slave, &master->slaves, list) {
       
   436         ec_slave_reset(slave);
   436         ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP);
   437         ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP);
   437 
   438 
   438         fsm->slave = slave;
   439         fsm->slave = slave;
   439         fsm->slave_state = ec_fsm_slaveconf_state_start;
   440         fsm->slave_state = ec_fsm_slaveconf_state_start;
   440 
   441 
   449     ec_master_destroy_domains(master);
   450     ec_master_destroy_domains(master);
   450 
   451 
   451     master->request_cb = NULL;
   452     master->request_cb = NULL;
   452     master->release_cb = NULL;
   453     master->release_cb = NULL;
   453     master->cb_data = NULL;
   454     master->cb_data = NULL;
   454 
       
   455     list_for_each_entry(slave, &master->slaves, list) {
       
   456         ec_slave_reset(slave);
       
   457     }
       
   458 
   455 
   459     master->mode = EC_MASTER_MODE_IDLE;
   456     master->mode = EC_MASTER_MODE_IDLE;
   460     queue_delayed_work(master->workqueue, &master->idle_work, 1);
   457     queue_delayed_work(master->workqueue, &master->idle_work, 1);
   461 }
   458 }
   462 
   459