Patch "iwlwifi: mvm: fix d3_test with unified D0/D3 images" has been added to the 4.8-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
iwlwifi: mvm: fix d3_test with unified D0/D3 images
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
iwlwifi-mvm-fix-d3_test-with-unified-d0-d3-images.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
85cd69b8f1f7e289fe931a82889e673fd0f04842Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Wed, 5 Oct 2016 11:24:12 +0300
Subject: iwlwifi: mvm: fix d3_test with unified D0/D3 images
From: Luca Coelho <[email protected]>
commit 85cd69b8f1f7e289fe931a82889e673fd0f04842 upstream.
When a unified D0/D3 image is used, we don't restart the FW in the D0->D3->D0 transitions. Therefore, the d3_test functionality should not call ieee8021_restart_hw() when the resuming either.
--- drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-)
drivers/net/wireless/intel/iwlwifi/mvm/d3.c +15 -10
@@ -2290,7 +2290,8 @@ static void iwl_mvm_d3_test_disconn_workstatic int iwl_mvm_d3_test_release (struct inode *inode,struct file *file) {struct iwl_mvm *mvm = inode->i_private; -int remaining_time =10 ; +bool unified_image =fw_has_capa (&mvm->fw->ucode_capa, +IWL_UCODE_TLV_CAPA_CNSLDTD_D3_D0_IMG ); mvm->d3_test_active = false;
@@ -2301,17 +2302,21 @@ static int iwl_mvm_d3_test_release(struc mvm->trans->system_pm_mode =IWL_PLAT_PM_MODE_DISABLED ;iwl_abort_notification_waits (&mvm->notif_wait); -ieee80211_restart_hw (mvm->hw); +if (!unified_image) { +int remaining_time =10 ; -/* wait for restart and disconnect all interfaces */ -while (test_bit (IWL_MVM_STATUS_IN_HW_RESTART , &mvm->status) && - remaining_time >0 ) { - remaining_time--; -msleep (1000 ); - } +ieee80211_restart_hw (mvm->hw); + +/* wait for restart and disconnect all interfaces */ +while (test_bit (IWL_MVM_STATUS_IN_HW_RESTART , &mvm->status) && + remaining_time >0 ) { + remaining_time--; +msleep (1000 ); + } -if (remaining_time ==0 ) -IWL_ERR (mvm,"Timed out waiting for HW restart to finish!\n" ); +if (remaining_time ==0 ) +IWL_ERR (mvm,"Timed out waiting for HW restart!\n" ); + } ieee80211_iterate_active_interfaces_atomic( mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/iwlwifi-mvm-fix-d3_test-with-unified-d0-d3-images.patch queue-4.8/iwlwifi-mvm-fix-netdetect-starting-stopping-for-unified-images.patch queue-4.8/iwlwifi-pcie-mark-command-queue-lock-with-separate-lockdep-class.patch queue-4.8/iwlwifi-mvm-wake-the-wait-queue-when-the-rx-sync-counter-is-zero.patch queue-4.8/iwlwifi-pcie-fix-splc-structure-parsing.patch