From mboxrd@z Thu Jan 1 00:00:00 1970 From: tglx@linutronix.de (Thomas Gleixner) Date: Tue, 8 Mar 2016 12:26:46 +0100 (CET) Subject: Fix preempt-rt on AT91 In-Reply-To: <20160308110639.GC21842@linutronix.de> References: <1452997394-8554-1-git-send-email-alexandre.belloni@free-electrons.com> <20160118174259.GC12309@linutronix.de> <20160305113553.GB21216@piout.net> <20160308110639.GC21842@linutronix.de> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, 8 Mar 2016, Sebastian Andrzej Siewior wrote: > I sucked this in. It seems to work. What remains that free_irq() thingy: > |WARNING: CPU: 0 PID: 0 at kernel/irq/manage.c:1541 __free_irq+0xb4/0x2e0() > |Trying to free already-free IRQ 16 > |CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.4-rt10+ #219 > |Hardware name: Atmel SAMA5 > |[] (unwind_backtrace) from [] (show_stack+0x10/0x14) > |[] (show_stack) from [] (warn_slowpath_common+0x80/0xac) > |[] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40) > |[] (warn_slowpath_fmt) from [] (__free_irq+0xb4/0x2e0) > |[] (__free_irq) from [] (free_irq+0x30/0x4c) > |[] (free_irq) from [] (pit_clkevt_shutdown+0x24/0x2c) > |[] (pit_clkevt_shutdown) from [] (clockevents_switch_state+0x60/0x130) > |---[ end trace 0000000000000001 ]--- > > which is a different problem and was there. The new thing is this: I think we really need to have this irq_en/disable_action() thingy sooner than later. > Is it possible to drop this disable/enable clock on the switch from pit > to one shot mode? There was an earlier discussion about the clk stuff. Actually the lock protecting disable/enable should be made raw, but there was some crap going on in some of the clk callbacks which made that impossible. We realy should revisit this. Thanks, tglx