aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJanne Grunau <j@jannau.net>2022-06-14 09:09:09 +0200
committerTom Rini <trini@konsulko.com>2022-06-23 08:24:49 -0400
commit942b54b4ee9ad6509a144bb78093f4ee376b7762 (patch)
tree1a38e1211fc8ae7c89f91364d3067938c97e6808 /arch
parenta30f60ca0bb3f0d32e41d8bae11e5622209b841b (diff)
downloadu-boot-942b54b4ee9ad6509a144bb78093f4ee376b7762.zip
u-boot-942b54b4ee9ad6509a144bb78093f4ee376b7762.tar.gz
u-boot-942b54b4ee9ad6509a144bb78093f4ee376b7762.tar.bz2
arm: apple: Increase RTKit timeouts
Timeouts are not expected to happen and are handled as fatal errors. Increase all timeouts to 1 second as defensive measure to avoid relying on the timing behaviour of certain firmware versions or configurations. Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> Tested-by: Mark Kettenis <kettenis@openbsd.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-apple/rtkit.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-apple/rtkit.c b/arch/arm/mach-apple/rtkit.c
index da77718..a550b55 100644
--- a/arch/arm/mach-apple/rtkit.c
+++ b/arch/arm/mach-apple/rtkit.c
@@ -52,6 +52,8 @@
#define APPLE_RTKIT_BUFFER_REQUEST_SIZE GENMASK(51, 44)
#define APPLE_RTKIT_BUFFER_REQUEST_IOVA GENMASK(41, 0)
+#define TIMEOUT_1SEC_US 1000000
+
struct apple_rtkit {
struct mbox_chan *chan;
void *cookie;
@@ -168,7 +170,7 @@ int apple_rtkit_boot(struct apple_rtkit *rtk)
return ret;
/* Wait for protocol version negotiation message. */
- ret = mbox_recv(rtk->chan, &msg, 10000);
+ ret = mbox_recv(rtk->chan, &msg, TIMEOUT_1SEC_US);
if (ret < 0)
return ret;
@@ -210,7 +212,7 @@ int apple_rtkit_boot(struct apple_rtkit *rtk)
wait_epmap:
/* Wait for endpoint map message. */
- ret = mbox_recv(rtk->chan, &msg, 10000);
+ ret = mbox_recv(rtk->chan, &msg, TIMEOUT_1SEC_US);
if (ret < 0)
return ret;
@@ -275,7 +277,7 @@ wait_epmap:
pwrstate = APPLE_RTKIT_PWR_STATE_SLEEP;
while (pwrstate != APPLE_RTKIT_PWR_STATE_ON) {
- ret = mbox_recv(rtk->chan, &msg, 100000);
+ ret = mbox_recv(rtk->chan, &msg, TIMEOUT_1SEC_US);
if (ret < 0)
return ret;
@@ -330,7 +332,7 @@ int apple_rtkit_shutdown(struct apple_rtkit *rtk, int pwrstate)
if (ret < 0)
return ret;
- ret = mbox_recv(rtk->chan, &msg, 100000);
+ ret = mbox_recv(rtk->chan, &msg, TIMEOUT_1SEC_US);
if (ret < 0)
return ret;