diff --git a/lib/slave_config.c b/lib/slave_config.c index 6d3386e5..72ea1d33 100644 --- a/lib/slave_config.c +++ b/lib/slave_config.c @@ -261,9 +261,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 247ba9b6..c723debd 100755 --- a/master/slave_config.c +++ b/master/slave_config.c @@ -791,9 +791,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];