aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2016-03-02 02:35:38 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2016-03-02 02:35:38 -0500
commit53f09e742b0fdf14a2a2bfd2062ee96c9b3eedf0 (patch)
tree3da4473f2168ff3ef075d57e6cfcc6dcabe6414b
parentb4f7a9d168d9f8204abf06d244a7938dd62b87b0 (diff)
parent905e36ae172c83a30894a3adefab7d4f850fcf54 (diff)
Merge branch 'fixes' into next
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/fw.c4
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/mvm.h3
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/ops.c2
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/tx.c9
4 files changed, 17 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index efec6ec22f58..594cd0dc7df9 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -126,7 +126,7 @@ static int iwl_send_rss_cfg_cmd(struct iwl_mvm *mvm)
126 return iwl_mvm_send_cmd_pdu(mvm, RSS_CONFIG_CMD, 0, sizeof(cmd), &cmd); 126 return iwl_mvm_send_cmd_pdu(mvm, RSS_CONFIG_CMD, 0, sizeof(cmd), &cmd);
127} 127}
128 128
129static void iwl_free_fw_paging(struct iwl_mvm *mvm) 129void iwl_free_fw_paging(struct iwl_mvm *mvm)
130{ 130{
131 int i; 131 int i;
132 132
@@ -146,6 +146,8 @@ static void iwl_free_fw_paging(struct iwl_mvm *mvm)
146 get_order(mvm->fw_paging_db[i].fw_paging_size)); 146 get_order(mvm->fw_paging_db[i].fw_paging_size));
147 } 147 }
148 kfree(mvm->trans->paging_download_buf); 148 kfree(mvm->trans->paging_download_buf);
149 mvm->trans->paging_download_buf = NULL;
150
149 memset(mvm->fw_paging_db, 0, sizeof(mvm->fw_paging_db)); 151 memset(mvm->fw_paging_db, 0, sizeof(mvm->fw_paging_db));
150} 152}
151 153
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
index f9019c4a5c0e..ab410b4659f3 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
@@ -1318,6 +1318,9 @@ void iwl_mvm_rx_umac_scan_complete_notif(struct iwl_mvm *mvm,
1318void iwl_mvm_rx_umac_scan_iter_complete_notif(struct iwl_mvm *mvm, 1318void iwl_mvm_rx_umac_scan_iter_complete_notif(struct iwl_mvm *mvm,
1319 struct iwl_rx_cmd_buffer *rxb); 1319 struct iwl_rx_cmd_buffer *rxb);
1320 1320
1321/* Paging */
1322void iwl_free_fw_paging(struct iwl_mvm *mvm);
1323
1321/* MVM debugfs */ 1324/* MVM debugfs */
1322#ifdef CONFIG_IWLWIFI_DEBUGFS 1325#ifdef CONFIG_IWLWIFI_DEBUGFS
1323int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir); 1326int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir);
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
index e6d0adc07029..699a80863e86 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
@@ -733,6 +733,8 @@ static void iwl_op_mode_mvm_stop(struct iwl_op_mode *op_mode)
733 for (i = 0; i < NVM_MAX_NUM_SECTIONS; i++) 733 for (i = 0; i < NVM_MAX_NUM_SECTIONS; i++)
734 kfree(mvm->nvm_sections[i].data); 734 kfree(mvm->nvm_sections[i].data);
735 735
736 iwl_free_fw_paging(mvm);
737
736 iwl_mvm_tof_clean(mvm); 738 iwl_mvm_tof_clean(mvm);
737 739
738 ieee80211_free_hw(mvm->hw); 740 ieee80211_free_hw(mvm->hw);
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
index dd616c1d59b7..271e8da6d140 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
@@ -430,6 +430,15 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb)
430 return -1; 430 return -1;
431 } 431 }
432 432
433 /*
434 * Increase the pending frames counter, so that later when a reply comes
435 * in and the counter is decreased - we don't start getting negative
436 * values.
437 * Note that we don't need to make sure it isn't agg'd, since we're
438 * TXing non-sta
439 */
440 atomic_inc(&mvm->pending_frames[sta_id]);
441
433 return 0; 442 return 0;
434} 443}
435 444