If d0i3 is not supported by the firmware (or if it's disabled via
module parameters) we shouldn't release the initial transport
reference, so that we won't enter runtime suspend.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
 
        memset(&mvm->rx_stats, 0, sizeof(struct mvm_statistics_rx));
 
-       /* rpm starts with a taken reference, we can release it now */
-       iwl_trans_unref(mvm->trans);
+       /* The transport always starts with a taken reference, we can
+        * release it now if d0i3 is supported */
+       if (iwl_mvm_is_d0i3_supported(mvm))
+               iwl_trans_unref(mvm->trans);
 
        iwl_mvm_tof_init(mvm);