diff options
author | Janne Grunau <j@jannau.net> | 2022-06-14 09:09:09 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-06-23 08:24:49 -0400 |
commit | 942b54b4ee9ad6509a144bb78093f4ee376b7762 (patch) | |
tree | 1a38e1211fc8ae7c89f91364d3067938c97e6808 /arch | |
parent | a30f60ca0bb3f0d32e41d8bae11e5622209b841b (diff) | |
download | u-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.c | 10 |
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; |