diff --git a/lib/slave_config.c b/lib/slave_config.c index d8cab06c..6a2c4cc0 100644 --- a/lib/slave_config.c +++ b/lib/slave_config.c @@ -244,9 +244,9 @@ int ecrt_slave_config_pdos(ec_slave_config_t *sc, if (ret) return ret; - if (pdo_info->n_entries && pdo_info->entries) { - ecrt_slave_config_pdo_mapping_clear(sc, pdo_info->index); + ecrt_slave_config_pdo_mapping_clear(sc, pdo_info->index); + if (pdo_info->n_entries && pdo_info->entries) { for (k = 0; k < pdo_info->n_entries; k++) { entry_info = &pdo_info->entries[k]; diff --git a/master/slave_config.c b/master/slave_config.c index b0d2c934..cf5d501f 100644 --- a/master/slave_config.c +++ b/master/slave_config.c @@ -714,9 +714,9 @@ int ecrt_slave_config_pdos(ec_slave_config_t *sc, if (ret) return ret; - if (pdo_info->n_entries && pdo_info->entries) { - ecrt_slave_config_pdo_mapping_clear(sc, pdo_info->index); + ecrt_slave_config_pdo_mapping_clear(sc, pdo_info->index); + if (pdo_info->n_entries && pdo_info->entries) { for (k = 0; k < pdo_info->n_entries; k++) { entry_info = &pdo_info->entries[k];