-
Philippe Gerum authored
The way local_irq_disable_full() works may cause interrupt events to lag in the interrupt log inadvertently if the code path does not synchronize such log afterwards. As a result, some interrupts may not get played when they should, causing breakage. Since calling inband_irq_disable() with hard irqs off is deemed ok (unlike with inband_irq_enable()), invert the two operations so that hard irqs are disabled before the in-band stage is stalled, preventing any interrupt to be logged in between. See https://xenomai.org/pipermail/xenomai/2021-June/045476.html. This fixes this issue: https://xenomai.org/pipermail/xenomai/2021-May/045071.html Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Philippe Gerum <rpm@xenomai.org> Reported-by: Florian Bezdeka <florian.bezdeka@siemens.com>
19ca214a