From 1be0dcfe3bc075701ee7f1fe3b6c23219926c820 Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Mon, 12 Feb 2007 11:15:23 +0000 Subject: [PATCH] Fixed bug causing unloading of realtime module being very slow after topology change. --- TODO | 1 - master/master.c | 9 +++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 20f66a27..dc719764 100644 --- a/TODO +++ b/TODO @@ -7,7 +7,6 @@ $Id$ ------------------------------------------------------------------------------- * Release 1.2: - - Find bug causing slow unloading after topology change. - Introduce topology_change_pending. - Update feature lists. diff --git a/master/master.c b/master/master.c index 3e6e7812..ab22eeb2 100644 --- a/master/master.c +++ b/master/master.c @@ -513,6 +513,15 @@ void ec_master_leave_operation_mode(ec_master_t *master ec_slave_reset(slave); ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP); + // don't try to set PREOP for slaves that don't respond, + // because of 3 second timeout. + if (!slave->online) { + if (master->debug_level) + EC_DBG("Skipping to configure offline slave %i.\n", + slave->ring_position); + continue; + } + ec_fsm_slave_start_conf(&fsm_slave, slave); while (ec_fsm_slave_exec(&fsm_slave)) { ec_master_sync_io(master); -- GitLab