power: return error when environment already set

On attempt to set_env in already initialized state notify
user by returning error that operation cannot be performed.

Signed-off-by: Marcin Hajkowski <marcinx.hajkowski@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
This commit is contained in:
Marcin Hajkowski 2019-04-05 18:22:03 +02:00 committed by Thomas Monjalon
parent 92433e3473
commit 5a5f3178d4
2 changed files with 4 additions and 2 deletions

View File

@ -33,8 +33,9 @@ rte_power_set_env(enum power_management_env env)
rte_spinlock_lock(&global_env_cfg_lock);
if (global_default_env != PM_ENV_NOT_SET) {
RTE_LOG(ERR, POWER, "Power Management Environment already set.\n");
rte_spinlock_unlock(&global_env_cfg_lock);
return 0;
return -1;
}
int ret = 0;

View File

@ -26,7 +26,8 @@ enum power_management_env {PM_ENV_NOT_SET, PM_ENV_ACPI_CPUFREQ, PM_ENV_KVM_VM,
/**
* Set the default power management implementation. If this is not called prior
* to rte_power_init(), then auto-detect of the environment will take place.
* It is thread safe.
* It is thread safe. New env can be set only in unitialized state
* (thus rte_power_unset_env must be called if different env was already set).
*
* @param env
* env. The environment in which to initialise Power Management for.