iwlwifi: mvm: set SKIP_OVER_DTIM flag only if needed
authorEliad Peller <eliad@wizery.com>
Mon, 12 May 2014 11:22:20 +0000 (14:22 +0300)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 13 May 2014 10:54:19 +0000 (13:54 +0300)
setting SKIP_OVER_DTIM when skip_dtim_periods is 0
causes a ucode assert. set the flag only if needed.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/power.c

index fc178d01a8cf028c24c0416119ca87f449b0ca3b..2e99dddc1e00b1ace6bc1cb2a1fbfdff94d898b8 100644 (file)
@@ -902,9 +902,10 @@ int iwl_mvm_update_d0i3_power_mode(struct iwl_mvm *mvm,
                if (WARN_ON(!dtimper_msec))
                        return 0;
 
-               cmd.flags |=
-                       cpu_to_le16(POWER_FLAGS_SKIP_OVER_DTIM_MSK);
                cmd.skip_dtim_periods = 300 / dtimper_msec;
+               if (cmd.skip_dtim_periods)
+                       cmd.flags |=
+                               cpu_to_le16(POWER_FLAGS_SKIP_OVER_DTIM_MSK);
        }
        iwl_mvm_power_log(mvm, &cmd);
 #ifdef CONFIG_IWLWIFI_DEBUGFS