iwlwifi: iwl_power_update_mode always hold mutex
authorReinette Chatre <reinette.chatre@intel.com>
Thu, 21 Jan 2010 19:52:28 +0000 (11:52 -0800)
committerReinette Chatre <reinette.chatre@intel.com>
Fri, 29 Jan 2010 19:13:59 +0000 (11:13 -0800)
iwl_power_update_mode expects to be called with mutex held, for example to
protect priv->vif. Only one caller currently does not do this, fix this.
Also, add a comment to iwl_power_update_mode to indicate this requirement.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
drivers/net/wireless/iwlwifi/iwl-debugfs.c
drivers/net/wireless/iwlwifi/iwl-power.c

index 5c8377b9ad9baa036a85c79b3a6ca9bb26eba8f0..d134301b553c6dc8e0106842b75950bd3fe15a8e 100644 (file)
@@ -815,7 +815,9 @@ static ssize_t iwl_dbgfs_sleep_level_override_write(struct file *file,
 
        priv->power_data.debug_sleep_level_override = value;
 
+       mutex_lock(&priv->mutex);
        iwl_power_update_mode(priv, true);
+       mutex_unlock(&priv->mutex);
 
        return count;
 }
index 232dd1879baf1e85a77b00c096bcfe6eb76e9ed2..1a1a9f081cc712288b552e49f667601bc7e5d5a9 100644 (file)
@@ -303,7 +303,7 @@ static int iwl_set_power(struct iwl_priv *priv, struct iwl_powertable_cmd *cmd)
                                sizeof(struct iwl_powertable_cmd), cmd);
 }
 
-
+/* priv->mutex must be held */
 int iwl_power_update_mode(struct iwl_priv *priv, bool force)
 {
        int ret = 0;