iwlwifi: mvm: make sure state isn't in d0i3 when stopping fw monitor
authorLiad Kaufman <liad.kaufman@intel.com>
Sun, 4 Jan 2015 09:03:13 +0000 (11:03 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Thu, 22 Jan 2015 15:53:56 +0000 (17:53 +0200)
In case platform is in d0i3 - make sure it is awake when
writing the registers to stop the monitor when collecting FW
debug data. Plus, remove unneeded mutex locking currently
done.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/debugfs.c

index f89b795fd4be10128260615a63685bc80f05c683..afd1986a3216e9e47b07eaaa4c787cd3996a22eb 100644 (file)
@@ -988,9 +988,14 @@ static ssize_t iwl_dbgfs_fw_dbg_collect_write(struct iwl_mvm *mvm,
                                              char *buf, size_t count,
                                              loff_t *ppos)
 {
-       mutex_lock(&mvm->mutex);
+       int ret = iwl_mvm_ref_sync(mvm, IWL_MVM_REF_PRPH_WRITE);
+
+       if (ret)
+               return ret;
+
        iwl_mvm_fw_dbg_collect(mvm);
-       mutex_unlock(&mvm->mutex);
+
+       iwl_mvm_unref(mvm, IWL_MVM_REF_PRPH_WRITE);
 
        return count;
 }