aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuciano Coelho <luciano.coelho@intel.com>2014-11-10 16:21:55 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-11-23 13:08:30 -0500
commitcc4c1ab5d22b22b945141edcbb74d0ab8caecbad (patch)
treeb2987e1481d3f03125a35da683be9417872d89db
parent522713c81e4ec98c554d74bcf8c26ddbfa6a30ee (diff)
iwlwifi: mvm: make nd_ies part of the mvm struct
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>
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/d3.c2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/debugfs.c8
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mvm.h2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/ops.c2
4 files changed, 2 insertions, 12 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/d3.c b/drivers/net/wireless/iwlwifi/mvm/d3.c
index faa7d5c365d5..0fc72fc6ce2f 100644
--- a/drivers/net/wireless/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/iwlwifi/mvm/d3.c
@@ -1036,7 +1036,7 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
1036 goto out; 1036 goto out;
1037 1037
1038 ret = iwl_mvm_scan_offload_start(mvm, vif, mvm->nd_config, 1038 ret = iwl_mvm_scan_offload_start(mvm, vif, mvm->nd_config,
1039 mvm->nd_ies); 1039 &mvm->nd_ies);
1040 if (ret) 1040 if (ret)
1041 goto out; 1041 goto out;
1042 } else { 1042 } else {
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
index 8212b00096f9..5a0f1049e099 100644
--- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
@@ -1198,14 +1198,8 @@ static ssize_t iwl_dbgfs_netdetect_write(struct iwl_mvm *mvm, char *buf,
1198 kfree(mvm->nd_config->match_sets); 1198 kfree(mvm->nd_config->match_sets);
1199 kfree(mvm->nd_config); 1199 kfree(mvm->nd_config);
1200 mvm->nd_config = NULL; 1200 mvm->nd_config = NULL;
1201 kfree(mvm->nd_ies);
1202 mvm->nd_ies = NULL;
1203 } 1201 }
1204 1202
1205 mvm->nd_ies = kzalloc(sizeof(*mvm->nd_ies), GFP_KERNEL);
1206 if (!mvm->nd_ies)
1207 return -ENOMEM;
1208
1209 mvm->nd_config = kzalloc(sizeof(*mvm->nd_config) + 1203 mvm->nd_config = kzalloc(sizeof(*mvm->nd_config) +
1210 (11 * sizeof(struct ieee80211_channel *)), 1204 (11 * sizeof(struct ieee80211_channel *)),
1211 GFP_KERNEL); 1205 GFP_KERNEL);
@@ -1262,8 +1256,6 @@ out_free:
1262 kfree(mvm->nd_config->match_sets); 1256 kfree(mvm->nd_config->match_sets);
1263 kfree(mvm->nd_config); 1257 kfree(mvm->nd_config);
1264 mvm->nd_config = NULL; 1258 mvm->nd_config = NULL;
1265 kfree(mvm->nd_ies);
1266 mvm->nd_ies = NULL;
1267out: 1259out:
1268 return ret; 1260 return ret;
1269} 1261}
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h
index cbfba80a0e2f..db52f65e4660 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h
@@ -666,7 +666,7 @@ struct iwl_mvm {
666 666
667 /* sched scan settings for net detect */ 667 /* sched scan settings for net detect */
668 struct cfg80211_sched_scan_request *nd_config; 668 struct cfg80211_sched_scan_request *nd_config;
669 struct ieee80211_scan_ies *nd_ies; 669 struct ieee80211_scan_ies nd_ies;
670#ifdef CONFIG_IWLWIFI_DEBUGFS 670#ifdef CONFIG_IWLWIFI_DEBUGFS
671 u32 d3_wake_sysassert; /* must be u32 for debugfs_create_bool */ 671 u32 d3_wake_sysassert; /* must be u32 for debugfs_create_bool */
672 bool d3_test_active; 672 bool d3_test_active;
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c
index 5ab10fb9d672..b022fc097e78 100644
--- a/drivers/net/wireless/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/iwlwifi/mvm/ops.c
@@ -597,8 +597,6 @@ static void iwl_op_mode_mvm_stop(struct iwl_op_mode *op_mode)
597 kfree(mvm->nd_config->match_sets); 597 kfree(mvm->nd_config->match_sets);
598 kfree(mvm->nd_config); 598 kfree(mvm->nd_config);
599 mvm->nd_config = NULL; 599 mvm->nd_config = NULL;
600 kfree(mvm->nd_ies);
601 mvm->nd_ies = NULL;
602 } 600 }
603#endif 601#endif
604 602