[PATCH 04/11] pmdomain: raspberrypi-power: Avoid powering down USB

Stefan Wahren
2024-06-30T15:37:52Z

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 <wahrenst@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