Björn Ardö
119f99209d
mailbox: forward the hrtimer if not queued and under a lock
...
[ Upstream commit bca1a1004615efe141fd78f360ecc48c60bc4ad5 ]
This reverts commit c7dacf5b0f ,
"mailbox: avoid timer start from callback"
The previous commit was reverted since it lead to a race that
caused the hrtimer to not be started at all. The check for
hrtimer_active() in msg_submit() will return true if the
callback function txdone_hrtimer() is currently running. This
function could return HRTIMER_NORESTART and then the timer
will not be restarted, and also msg_submit() will not start
the timer. This will lead to a message actually being submitted
but no timer will start to check for its compleation.
The original fix that added checking hrtimer_active() was added to
avoid a warning with hrtimer_forward. Looking in the kernel
another solution to avoid this warning is to check hrtimer_is_queued()
before calling hrtimer_forward_now() instead. This however requires a
lock so the timer is not started by msg_submit() inbetween this check
and the hrtimer_forward() call.
Fixes: c7dacf5b0f ("mailbox: avoid timer start from callback")
Signed-off-by: Björn Ardö <bjorn.ardo@axis.com >
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2022-06-09 10:23:12 +02:00
..
2022-04-08 14:23:57 +02:00
2022-05-25 09:57:28 +02:00
2021-11-18 19:17:06 +01:00
2022-06-09 10:23:07 +02:00
2022-01-27 11:02:57 +01:00
2022-03-16 14:23:38 +01:00
2022-05-09 09:14:34 +02:00
2022-04-27 14:39:01 +02:00
2022-06-09 10:23:06 +02:00
2022-06-09 10:22:48 +02:00
2022-04-20 09:34:04 +02:00
2022-05-18 10:26:56 +02:00
2021-11-18 19:15:59 +01:00
2022-06-09 10:22:28 +02:00
2021-12-08 09:04:41 +01:00
2022-03-11 12:22:34 +01:00
2022-04-08 14:24:17 +02:00
2022-06-09 10:22:57 +02:00
2022-04-08 14:22:59 +02:00
2022-01-27 11:04:15 +01:00
2022-04-27 14:38:50 +02:00
2021-10-26 12:35:16 -07:00
2022-05-01 17:22:24 +02:00
2021-11-18 19:16:20 +01:00
2022-06-09 10:22:51 +02:00
2021-11-18 19:17:21 +01:00
2022-06-09 10:22:48 +02:00
2022-02-23 12:03:17 +01:00
2021-11-18 19:16:03 +01:00
2022-04-08 14:24:18 +02:00
2021-11-18 19:16:45 +01:00
2022-05-30 09:29:09 +02:00
2021-12-14 10:57:11 +01:00
2021-11-18 19:16:00 +01:00
2022-04-08 14:24:13 +02:00
2021-11-25 09:48:41 +01:00
2022-06-09 10:22:47 +02:00
2022-04-27 14:38:50 +02:00
2021-11-18 19:17:06 +01:00
2022-03-08 19:12:39 +01:00
2022-04-08 14:22:59 +02:00
2022-03-08 19:12:40 +01:00
2021-11-18 19:16:25 +01:00
2022-01-20 09:13:13 +01:00
2021-11-25 09:49:08 +01:00
2022-01-11 15:35:11 +01:00
2022-02-01 17:27:15 +01:00
2022-06-09 10:22:47 +02:00
2022-03-16 14:23:46 +01:00
2022-01-27 11:04:41 +01:00
2022-05-30 09:29:09 +02:00
2022-03-23 09:16:42 +01:00
2021-12-29 12:28:49 +01:00
2022-05-01 17:22:32 +02:00
2022-05-25 09:57:22 +02:00
2021-11-25 09:48:42 +01:00
2022-04-13 20:59:03 +02:00
2022-03-08 19:12:32 +01:00
2022-03-08 19:12:38 +01:00
2021-11-18 19:16:13 +01:00
2022-05-09 09:14:30 +02:00
2022-04-27 14:38:51 +02:00
2021-12-08 09:04:41 +01:00
2022-02-08 18:34:12 +01:00
2021-11-18 19:15:51 +01:00
2022-06-09 10:23:09 +02:00
2021-11-12 15:05:48 +01:00
2021-11-12 15:05:48 +01:00
2022-06-09 10:23:12 +02:00
2022-05-25 09:57:26 +02:00
2022-01-05 12:42:33 +01:00
2022-04-27 14:38:57 +02:00
2021-12-14 10:57:22 +01:00
2022-05-30 09:29:17 +02:00
2022-04-13 20:59:28 +02:00
2021-11-18 19:17:14 +01:00
2022-05-18 10:26:47 +02:00
2022-05-25 09:57:31 +02:00
2022-02-16 12:56:09 +01:00
2022-04-13 20:59:13 +02:00
2022-02-16 12:56:09 +01:00
2022-04-08 14:24:09 +02:00
2022-03-02 11:48:06 +01:00
2022-01-27 11:04:15 +01:00
2022-03-08 19:12:42 +01:00
2021-10-28 17:18:55 -07:00
2022-05-01 17:22:29 +02:00
2022-03-16 14:23:46 +01:00
2022-04-08 14:23:37 +02:00
2022-02-01 17:27:10 +01:00
2022-02-08 18:34:05 +01:00
2022-06-06 08:43:37 +02:00
2022-01-27 11:04:44 +01:00
2021-11-18 19:17:14 +01:00
2022-05-30 09:29:15 +02:00
2021-11-25 09:48:45 +01:00
2022-02-01 17:27:01 +01:00
2022-02-01 17:27:15 +01:00
2022-04-08 14:23:01 +02:00
2022-06-09 10:23:01 +02:00
2022-01-27 11:03:52 +01:00
2022-06-09 10:22:29 +02:00
2022-05-30 09:29:17 +02:00
2022-04-08 14:23:06 +02:00
2021-11-18 19:16:58 +01:00
2022-04-27 14:38:58 +02:00
2022-05-25 09:57:37 +02:00
2021-11-18 19:17:12 +01:00
2022-04-08 14:23:50 +02:00
2021-11-18 19:16:01 +01:00
2022-05-30 09:29:15 +02:00
2022-04-08 14:24:13 +02:00
2022-04-08 14:23:40 +02:00
2022-04-13 20:59:28 +02:00
2022-04-13 20:59:28 +02:00
2022-04-13 20:59:28 +02:00
2022-05-12 12:30:05 +02:00
2021-11-21 13:44:12 +01:00
2022-02-16 12:56:19 +01:00
2022-04-08 14:24:17 +02:00
2022-03-02 11:47:51 +01:00
2022-05-30 09:29:13 +02:00
2021-11-18 19:16:41 +01:00
2021-11-25 09:48:34 +01:00
2022-05-01 17:22:33 +02:00
2022-04-20 09:34:13 +02:00
2022-03-16 14:23:43 +01:00
2021-12-29 12:28:43 +01:00
2022-03-16 14:23:43 +01:00
2022-03-08 19:12:38 +01:00
2021-12-14 10:57:15 +01:00
2022-03-16 14:23:44 +01:00