summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
diff options
context:
space:
mode:
authorLuca Coelho <luciano.coelho@intel.com>2016-03-01 08:30:48 (GMT)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2016-03-02 07:00:46 (GMT)
commite27deb4583642d6c5b3cf18060e8239db1be9e59 (patch)
treed3841014286eb5bce475c03d27826712d0e68784 /drivers/net/wireless/intel/iwlwifi/mvm/ops.c
parent0d0985adf6519952e0d51b5272abc3ef28d833bc (diff)
downloadlinux-e27deb4583642d6c5b3cf18060e8239db1be9e59.tar.xz
iwlwifi: mvm: take the transport ref back when leaving
If d0i3 is supported, we have released the initial transport reference in iwl_op_mode_mvm_start(), so we should take it back in iwl_op_mode_mvm_stop() to keep it balanced. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/ops.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/ops.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
index f3283f4..3760a09 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
@@ -703,6 +703,13 @@ static void iwl_op_mode_mvm_stop(struct iwl_op_mode *op_mode)
struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
int i;
+ /* If d0i3 is supported, we have released the reference that
+ * the transport started with, so we should take it back now
+ * that we are leaving.
+ */
+ if (iwl_mvm_is_d0i3_supported(mvm))
+ iwl_trans_ref(mvm->trans);
+
iwl_mvm_leds_exit(mvm);
iwl_mvm_thermal_exit(mvm);