Hi Thomas, On 20/01/2016 at 12:07:30 +0100, Thomas Gleixner wrote : > Well freeing the irq from that context in RT only works because its called > before SYSTEM_STATE=RUNNING. So no, this was wrong forever. > > The issue we are dealing with is that the timer interrupt is shared with the > uart. So the timer has IRQ_NO_THREAD set and the uart interrupt gets force > threaded. So that results in a failure to request the interrupt for the > UART. That's not RT specific, that already happens in mainline if you add > 'threadirqs' to the command line. > > So until the DT folks come to senses and we get that dummy demux chip done, I > came up with the following - completely untested - solution. > > The downside of this is, that the timer will be delayed until the uart thread > returns, but with the replacement clockevent in place on RT that's a non > issue. For mainline it's obviously better than what we have now. > I've tested it and it seems to work properly on the few platform where I can reproduce the issue. What is your plan regarding upstreaming? I guess you can split and take the resulting patches through your tree. -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html