On 01/22/2014 09:31 AM, Henri Roosen wrote:
> Removing the device driver before reboot doesn't help: we still get a
> LDREX/STREX lockup in the Xenomai timertick path. I'm still not sure what
> actually causes this lockup, but my guess is somewhere late in the
> shutdown-sequence the memory (or something else) is put into a state that
> makes LDREX/STREX fail all the time. Any interrupt from the Xenomai domain
> locks the system then.
>
> As a quick (and dirty!) workaround skipping __ipipe_handle_irq when
> system_state == SYSTEM_REBOOT solves the problem.
>
> So thinking towards a proper solution: is there or should there be any
> shutdown/de-initialization of Xenomai and it's services in the Linux
> shutdown sequence?
The simplest solution seems to find the Linux code involved, which
probably contains a local_irq_disable() to avoid this situation, and
replace it with hard_local_irq_disable() in the I-pipe case so as to
also block xenomai interrupts.
--
Gilles.
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai