Two fixes for 4.5:
* We forgot to free the paging memory (Matti) * Fix the frames in flight accounting (Liad) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJWz2l7AAoJEC0Llv5uNjIByy4P/3Q/Vtcxnp899HYBt1luugpE QE2RtIf72JqvBihMdEgYZPd8e3K9ta1M+jt+3fLhn4gC/vEFydo68t0evoEA1QX8 d0LFZk9YDCVyHhLfPsnkLMVRwRcmfqALyv/gcEjRS8AYO+ZC7BzI8z25iSn25O4J M0EwdL1MWCtVAdglyh6vVlh9k90Fby84MzFa53MvIT4hv+Lc2qQawn/bT8vDFf1A /pc0aovgpOoTrQT8Ld00wcROak+6W0ad4c28tke30U/W9MOvk7uJl495rEeA1Kw1 pMNKOyEifbq6efS/4zZwFI7gIpgTE/fbGeb0onw4RB5SFUbHm+P88dIEzUp8mhD2 Y0gNPAuY1rPCDwDUX0oWtzLVqunZMxIz5CwPBahuxrXs5RuSKkEcUpuLvZcY9iaD GYniIitsubBPjclAUXFJEqbZ0QwS73EQjztnaAv6K8UOcaEHO78erW6P0r10Q15l /ZdGcGb0qzpvIgJHSPf/lNAYtSvunzwqp4wktcBpxf/734QJ4xSdN4wFBWsBSrq0 q5hv6lp/sqM3Ch72xnPcwTZRgMlnVt9aiKLDiJuwrXMO/oog3sfxgkKc2FL4w8n0 b/R1xzXSqzKDsBHufWpSL6FHlue1yL1gYr2RdcqOuwGHedurPeKWiDVJJ4Rqgkhb /uBO1D8JKU1c9M6+fA5R =hdNJ -----END PGP SIGNATURE----- Merge tag 'iwlwifi-for-kalle-2016-02-25' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes Two fixes for 4.5: * We forgot to free the paging memory (Matti) * Fix the frames in flight accounting (Liad)
This commit is contained in:
commit
1a4f6557dd
|
@ -107,7 +107,7 @@ static int iwl_send_tx_ant_cfg(struct iwl_mvm *mvm, u8 valid_tx_ant)
|
|||
sizeof(tx_ant_cmd), &tx_ant_cmd);
|
||||
}
|
||||
|
||||
static void iwl_free_fw_paging(struct iwl_mvm *mvm)
|
||||
void iwl_free_fw_paging(struct iwl_mvm *mvm)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -127,6 +127,8 @@ static void iwl_free_fw_paging(struct iwl_mvm *mvm)
|
|||
get_order(mvm->fw_paging_db[i].fw_paging_size));
|
||||
}
|
||||
kfree(mvm->trans->paging_download_buf);
|
||||
mvm->trans->paging_download_buf = NULL;
|
||||
|
||||
memset(mvm->fw_paging_db, 0, sizeof(mvm->fw_paging_db));
|
||||
}
|
||||
|
||||
|
|
|
@ -1225,6 +1225,9 @@ void iwl_mvm_rx_umac_scan_complete_notif(struct iwl_mvm *mvm,
|
|||
void iwl_mvm_rx_umac_scan_iter_complete_notif(struct iwl_mvm *mvm,
|
||||
struct iwl_rx_cmd_buffer *rxb);
|
||||
|
||||
/* Paging */
|
||||
void iwl_free_fw_paging(struct iwl_mvm *mvm);
|
||||
|
||||
/* MVM debugfs */
|
||||
#ifdef CONFIG_IWLWIFI_DEBUGFS
|
||||
int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir);
|
||||
|
|
|
@ -684,6 +684,8 @@ static void iwl_op_mode_mvm_stop(struct iwl_op_mode *op_mode)
|
|||
for (i = 0; i < NVM_MAX_NUM_SECTIONS; i++)
|
||||
kfree(mvm->nvm_sections[i].data);
|
||||
|
||||
iwl_free_fw_paging(mvm);
|
||||
|
||||
iwl_mvm_tof_clean(mvm);
|
||||
|
||||
ieee80211_free_hw(mvm->hw);
|
||||
|
|
|
@ -423,6 +423,15 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb)
|
|||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Increase the pending frames counter, so that later when a reply comes
|
||||
* in and the counter is decreased - we don't start getting negative
|
||||
* values.
|
||||
* Note that we don't need to make sure it isn't agg'd, since we're
|
||||
* TXing non-sta
|
||||
*/
|
||||
atomic_inc(&mvm->pending_frames[sta_id]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue