um: time-travel: Fix IRQ handling in time_travel_handle_message()
authorJohannes Berg <johannes.berg@intel.com>
Thu, 10 Sep 2020 09:31:12 +0000 (11:31 +0200)
committerRichard Weinberger <richard@nod.at>
Sun, 11 Oct 2020 21:13:20 +0000 (23:13 +0200)
commitebef8ea2ba967026192a26f4529890893919bc57
tree1af3fa2aeb094eb61b0709aa279696a469b213da
parent730586ff7fada525943f1eee0681fa62a3fc6128
um: time-travel: Fix IRQ handling in time_travel_handle_message()

As the comment here indicates, we need to do the polling in the
idle loop without blocking interrupts, since interrupts can be
vhost-user messages that we must process even while in our idle
loop.

I don't know why I explained one thing and implemented another,
but we have indeed observed random hangs due to this, depending
on the timing of the messages.

Fixes: 88ce64249233 ("um: Implement time-travel=ext")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/kernel/time.c