From 2e79db369585e1ec0fb9f2bc92fef9140ff13d2c Mon Sep 17 00:00:00 2001
From: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
Date: Tue, 11 Mar 2025 02:29:26 +0100
Subject: [PATCH] Fix hass stop in bootstrap (#132795)

---
 homeassistant/bootstrap.py | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/homeassistant/bootstrap.py b/homeassistant/bootstrap.py
index 734439842b2..e301912806c 100644
--- a/homeassistant/bootstrap.py
+++ b/homeassistant/bootstrap.py
@@ -299,14 +299,6 @@ async def async_setup_hass(
 
         return hass
 
-    async def stop_hass(hass: core.HomeAssistant) -> None:
-        """Stop hass."""
-        # Ask integrations to shut down. It's messy but we can't
-        # do a clean stop without knowing what is broken
-        with contextlib.suppress(TimeoutError):
-            async with hass.timeout.async_timeout(10):
-                await hass.async_stop()
-
     hass = await create_hass()
 
     if runtime_config.skip_pip or runtime_config.skip_pip_packages:
@@ -345,7 +337,7 @@ async def async_setup_hass(
 
         if config_dict is None:
             recovery_mode = True
-            await stop_hass(hass)
+            await hass.async_stop(force=True)
             hass = await create_hass()
 
         elif not basic_setup_success:
@@ -353,7 +345,7 @@ async def async_setup_hass(
                 "Unable to set up core integrations. Activating recovery mode"
             )
             recovery_mode = True
-            await stop_hass(hass)
+            await hass.async_stop(force=True)
             hass = await create_hass()
 
         elif any(
@@ -368,7 +360,7 @@ async def async_setup_hass(
             old_logging = hass.data.get(DATA_LOGGING)
 
             recovery_mode = True
-            await stop_hass(hass)
+            await hass.async_stop(force=True)
             hass = await create_hass()
 
             if old_logging:
-- 
GitLab