Remove estimated sync manager sizes when leaving operation mode.
This commit is contained in:
parent
5fffe7009b
commit
9c59a83aca
|
|
@ -433,6 +433,7 @@ void ec_master_leave_operation_mode(ec_master_t *master
|
|||
|
||||
// set states for all slaves
|
||||
list_for_each_entry(slave, &master->slaves, list) {
|
||||
ec_slave_reset(slave);
|
||||
ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP);
|
||||
|
||||
fsm->slave = slave;
|
||||
|
|
@ -452,10 +453,6 @@ void ec_master_leave_operation_mode(ec_master_t *master
|
|||
master->release_cb = NULL;
|
||||
master->cb_data = NULL;
|
||||
|
||||
list_for_each_entry(slave, &master->slaves, list) {
|
||||
ec_slave_reset(slave);
|
||||
}
|
||||
|
||||
master->mode = EC_MASTER_MODE_IDLE;
|
||||
queue_delayed_work(master->workqueue, &master->idle_work, 1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -284,6 +284,7 @@ void ec_slave_clear(struct kobject *kobj /**< kobject of the slave */)
|
|||
void ec_slave_reset(ec_slave_t *slave /**< EtherCAT slave */)
|
||||
{
|
||||
ec_sdo_data_t *sdodata, *next_sdodata;
|
||||
ec_sii_sync_t *sync;
|
||||
|
||||
// remove FMMU configurations
|
||||
slave->fmmu_count = 0;
|
||||
|
|
@ -294,6 +295,11 @@ void ec_slave_reset(ec_slave_t *slave /**< EtherCAT slave */)
|
|||
kfree(sdodata->data);
|
||||
kfree(sdodata);
|
||||
}
|
||||
|
||||
// remove estimated sync manager sizes
|
||||
list_for_each_entry(sync, &slave->sii_syncs, list) {
|
||||
sync->est_length = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
Loading…
Reference in New Issue