equal
deleted
inserted
replaced
282 */ |
282 */ |
283 |
283 |
284 void ec_slave_reset(ec_slave_t *slave /**< EtherCAT slave */) |
284 void ec_slave_reset(ec_slave_t *slave /**< EtherCAT slave */) |
285 { |
285 { |
286 ec_sdo_data_t *sdodata, *next_sdodata; |
286 ec_sdo_data_t *sdodata, *next_sdodata; |
|
287 ec_sii_sync_t *sync; |
287 |
288 |
288 // remove FMMU configurations |
289 // remove FMMU configurations |
289 slave->fmmu_count = 0; |
290 slave->fmmu_count = 0; |
290 |
291 |
291 // free all SDO configurations |
292 // free all SDO configurations |
292 list_for_each_entry_safe(sdodata, next_sdodata, &slave->sdo_confs, list) { |
293 list_for_each_entry_safe(sdodata, next_sdodata, &slave->sdo_confs, list) { |
293 list_del(&sdodata->list); |
294 list_del(&sdodata->list); |
294 kfree(sdodata->data); |
295 kfree(sdodata->data); |
295 kfree(sdodata); |
296 kfree(sdodata); |
|
297 } |
|
298 |
|
299 // remove estimated sync manager sizes |
|
300 list_for_each_entry(sync, &slave->sii_syncs, list) { |
|
301 sync->est_length = 0; |
296 } |
302 } |
297 } |
303 } |
298 |
304 |
299 /*****************************************************************************/ |
305 /*****************************************************************************/ |
300 |
306 |