iwlwifi: mvm: make nd_ies part of the mvm struct
authorLuciano Coelho <luciano.coelho@intel.com>
Mon, 10 Nov 2014 21:21:55 +0000 (23:21 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 23 Nov 2014 18:08:30 +0000 (20:08 +0200)
Instead of allocating nd_ies separately, make it part of the iwl_mvm
structure so it's easier to handle its lifetime.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/d3.c
drivers/net/wireless/iwlwifi/mvm/debugfs.c
drivers/net/wireless/iwlwifi/mvm/mvm.h
drivers/net/wireless/iwlwifi/mvm/ops.c

index faa7d5c..0fc72fc 100644 (file)
@@ -1036,7 +1036,7 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
                        goto out;
 
                ret = iwl_mvm_scan_offload_start(mvm, vif, mvm->nd_config,
-                                                mvm->nd_ies);
+                                                &mvm->nd_ies);
                if (ret)
                        goto out;
        } else {
index 8212b00..5a0f104 100644 (file)
@@ -1198,14 +1198,8 @@ static ssize_t iwl_dbgfs_netdetect_write(struct iwl_mvm *mvm, char *buf,
                kfree(mvm->nd_config->match_sets);
                kfree(mvm->nd_config);
                mvm->nd_config = NULL;
-               kfree(mvm->nd_ies);
-               mvm->nd_ies = NULL;
        }
 
-       mvm->nd_ies = kzalloc(sizeof(*mvm->nd_ies), GFP_KERNEL);
-       if (!mvm->nd_ies)
-               return -ENOMEM;
-
        mvm->nd_config = kzalloc(sizeof(*mvm->nd_config) +
                                 (11 * sizeof(struct ieee80211_channel *)),
                                 GFP_KERNEL);
@@ -1262,8 +1256,6 @@ out_free:
                kfree(mvm->nd_config->match_sets);
        kfree(mvm->nd_config);
        mvm->nd_config = NULL;
-       kfree(mvm->nd_ies);
-       mvm->nd_ies = NULL;
 out:
        return ret;
 }
index cbfba80..db52f65 100644 (file)
@@ -666,7 +666,7 @@ struct iwl_mvm {
 
        /* sched scan settings for net detect */
        struct cfg80211_sched_scan_request *nd_config;
-       struct ieee80211_scan_ies *nd_ies;
+       struct ieee80211_scan_ies nd_ies;
 #ifdef CONFIG_IWLWIFI_DEBUGFS
        u32 d3_wake_sysassert; /* must be u32 for debugfs_create_bool */
        bool d3_test_active;
index 5ab10fb..b022fc0 100644 (file)
@@ -597,8 +597,6 @@ static void iwl_op_mode_mvm_stop(struct iwl_op_mode *op_mode)
                kfree(mvm->nd_config->match_sets);
                kfree(mvm->nd_config);
                mvm->nd_config = NULL;
-               kfree(mvm->nd_ies);
-               mvm->nd_ies = NULL;
        }
 #endif