During supend to idle any request to power off the USB domain
leads to a timeout. As a temporary workaround don't register
the relevant power off handler.

Link: https://github.com/raspberrypi/firmware/issues/1894
Signed-off-by: Stefan Wahren <wahre...@gmx.net>
---
 drivers/pmdomain/bcm/raspberrypi-power.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/pmdomain/bcm/raspberrypi-power.c 
b/drivers/pmdomain/bcm/raspberrypi-power.c
index 39d9a52200c3..3e7b84006acc 100644
--- a/drivers/pmdomain/bcm/raspberrypi-power.c
+++ b/drivers/pmdomain/bcm/raspberrypi-power.c
@@ -86,7 +86,14 @@ static void rpi_common_init_power_domain(struct 
rpi_power_domains *rpi_domains,

        dom->base.name = name;
        dom->base.power_on = rpi_domain_on;
-       dom->base.power_off = rpi_domain_off;
+
+       /*
+        * During supend to idle any request to power off the USB domain
+        * leads to a timeout. As a temporary workaround don't register
+        * the relevant power off handler.
+        */
+       if (strcmp("USB", name))
+               dom->base.power_off = rpi_domain_off;

        /*
         * Treat all power domains as off at boot.
--
2.34.1

Reply via email to