iwlwifi: mvm: take the transport ref back when leaving
authorLuca Coelho <luciano.coelho@intel.com>
Tue, 1 Mar 2016 08:30:48 +0000 (10:30 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 2 Mar 2016 07:00:46 +0000 (09:00 +0200)
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>
drivers/net/wireless/intel/iwlwifi/mvm/ops.c

index f3283f4..3760a09 100644 (file)
@@ -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);