From 09a6ddc5a4bb755f4bcb0414f1851990a1cbb095 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Fri, 1 Aug 2008 07:23:09 +0000 Subject: [PATCH] Fixed reconfiguration: Force config when application detaches. --- master/master.c | 9 ++++++++- master/slave_config.c | 4 ---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/master/master.c b/master/master.c index 27184edd..0f008098 100644 --- a/master/master.c +++ b/master/master.c @@ -503,12 +503,19 @@ void ec_master_leave_operation_phase(ec_master_t *master ec_master_clear_slave_configs(master); up(&master->master_sem); - // set states for all slaves for (slave = master->slaves; slave < master->slaves + master->slave_count; slave++) { + + // set states for all slaves ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP); + + // mark for reconfiguration, because the master could have no + // possibility for a reconfiguration between two sequential operation + // phases. + slave->force_config = 1; } + #ifdef EC_EOE // ... but leave EoE slaves in OP list_for_each_entry(eoe, &master->eoe_handlers, list) { diff --git a/master/slave_config.c b/master/slave_config.c index 76f716af..75a38659 100644 --- a/master/slave_config.c +++ b/master/slave_config.c @@ -208,10 +208,6 @@ int ec_slave_config_attach( slave->config = sc; sc->slave = slave; - // force reconfiguration, because the master could have had no possibility - // for a reconfiguration, between two operation phases. - slave->force_config = 1; - ec_slave_request_state(slave, EC_SLAVE_STATE_OP); if (sc->master->debug_level)