Commit 11e11651 authored by Amit Beka's avatar Amit Beka Committed by John W. Linville
Browse files

iwlwifi: fix power index handling

The power index that the user gives as module parameter
in in range 1-5, but we need to decrease it in order
to create an array index out of it (0-4) for the power
table command.

Signed-off-by: default avatarAmit Beka <>
Signed-off-by: default avatarWey-Yi Guy <>
Signed-off-by: default avatarJohn W. Linville <>
parent f6be8b78
......@@ -253,6 +253,8 @@ static void iwl_static_sleep_cmd(struct iwl_priv *priv,
IWL_DEBUG_POWER(priv, "numSkipDtim = %u, dtimPeriod = %d\n",
skip, period);
/* The power level here is 0-4 (used as array index), but user expects
to see 1-5 (according to spec). */
IWL_DEBUG_POWER(priv, "Sleep command for index %d\n", lvl + 1);
......@@ -308,10 +310,12 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
else {
/* Note that the user parameter is 1-5 (according to spec),
but we pass 0-4 because it acts as an array index. */
if (iwlwifi_mod_params.power_level > IWL_POWER_INDEX_1 &&
iwlwifi_mod_params.power_level <= IWL_POWER_INDEX_5)
iwlwifi_mod_params.power_level <= IWL_POWER_NUM)
iwl_static_sleep_cmd(priv, cmd,
iwlwifi_mod_params.power_level, dtimper);
iwlwifi_mod_params.power_level - 1, dtimper);
iwl_static_sleep_cmd(priv, cmd,
IWL_POWER_INDEX_1, dtimper);
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment