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>
        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);