Files
linux-bredos/include/linux
Björn Ardö bca1a10046 mailbox: forward the hrtimer if not queued and under a lock
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>
2022-05-23 14:45:24 -05:00
..
2022-02-27 13:38:10 +00:00
2022-03-23 19:58:38 +01:00
2022-03-17 20:17:18 -07:00
2022-03-11 19:15:03 -08:00
2022-03-15 10:32:44 +01:00
2022-02-07 16:35:35 -08:00
2022-03-16 15:13:36 -07:00
2022-02-13 16:50:07 -08:00
2022-04-01 14:40:44 -04:00
2022-04-07 09:43:41 -04:00
2022-03-02 22:44:49 -08:00
2022-02-28 23:26:27 -08:00
2022-03-15 08:23:29 -04:00
2022-02-28 13:25:49 +01:00
2022-02-19 19:23:53 -08:00
2022-02-14 15:43:15 +01:00
2022-02-05 15:20:34 +00:00
2022-03-18 09:47:04 +01:00
2022-03-21 12:57:38 -04:00
2022-04-01 14:40:44 -04:00
2022-02-09 09:24:40 -05:00
2022-02-28 13:45:04 +02:00
2022-03-24 19:06:45 -07:00
2022-04-01 13:45:08 -04:00
2022-02-02 07:49:59 -07:00
2022-02-09 08:04:44 +01:00
2022-02-09 08:04:44 +01:00
2022-04-19 10:19:02 -07:00
2022-03-08 14:33:36 -06:00
2022-03-17 20:16:29 -07:00
2022-03-23 19:58:41 +01:00
2022-02-24 15:04:51 +00:00
2022-02-25 09:36:06 +01:00
2022-04-11 19:18:27 -06:00
2022-02-16 07:49:41 +01:00
2022-03-22 15:57:11 -07:00
2022-03-28 16:53:00 -04:00