diff options
author | Armelle Laine <armellel@google.com> | 2021-09-08 22:33:37 +0000 |
---|---|---|
committer | Armelle Laine <armellel@google.com> | 2021-09-08 22:34:40 +0000 |
commit | 92f7340d1b78119489fe33f01abefb368a4b39bf (patch) | |
tree | 22acfd2ab1c667707a1202769e4c6f8bc8db9e2b | |
parent | c2ebb1e355025069fd31598de8029726cbebd59c (diff) | |
download | trusty-92f7340d1b78119489fe33f01abefb368a4b39bf.tar.gz |
ANDROID: trusty-irq: enqueue work in trusty_irq_cpu_up
Temporary workaround blindly enqueuing work to force trusty scheduler
to run after a cpu suspend.
Root causing the workqueue being inappropriately empty (e.g. loss of an IPI)
may make this workaround unnecessary in the future.
Bug: 197458307
Change-Id: Ice8497c9027666a320ada8aa9c15195e31237201
Signed-off-by: Armelle Laine <armellel@google.com>
-rw-r--r-- | drivers/trusty/trusty-irq.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/trusty/trusty-irq.c b/drivers/trusty/trusty-irq.c index 7d59950..5c60761 100644 --- a/drivers/trusty/trusty-irq.c +++ b/drivers/trusty/trusty-irq.c @@ -191,6 +191,15 @@ static int trusty_irq_cpu_up(unsigned int cpu, struct hlist_node *node) trusty_irq_enable_irqset(is, this_cpu_ptr(is->percpu_irqs)); local_irq_restore(irq_flags); + /* + * Temporary workaround blindly enqueuing work to force trusty scheduler + * to run after a cpu suspend. + * Root causing the workqueue being inappropriately empty + * (e.g. loss of an IPI) may make this workaround unnecessary + * in the future. + */ + trusty_enqueue_nop(is->trusty_dev, NULL); + return 0; } |