Hi Thomas,
Thanks for the review.
On 17/07/18 10:22, Thomas Gleixner wrote:
On Mon, 9 Jul 2018, Julien Thierry wrote:
+/* This function must be called with desc->lock held */
+static const void *__cleanup_nmi(unsigned int irq, struct irq_desc *desc)
+{
+ÂÂÂ const char *devname = NULL;
+
+ÂÂÂ desc->istate &= ~IRQS_NMI;
+
+#ifdef CONFIG_SMP
+ÂÂÂ if (WARN_ON(desc->affinity_notify))
+ÂÂÂÂÂÂÂ desc->affinity_notify = NULL;
+#endif
We should not support that affinity notify horror for NMIs at all.
Makes sense, I'll add it to the constraints for NMIs and remove that part.
+ÂÂÂ if (!WARN_ON(desc->action == NULL)) {
+ÂÂÂÂÂÂÂ irq_pm_remove_action(desc, desc->action);
+ÂÂÂÂÂÂÂ devname = desc->action->name;
+ÂÂÂÂÂÂÂ unregister_handler_proc(irq, desc->action);
+
+ÂÂÂÂÂÂÂ kfree(desc->action);
+ÂÂÂÂÂÂÂ desc->action = NULL;
+ÂÂÂ }
+
+ÂÂÂ irq_settings_clr_disable_unlazy(desc);
+ÂÂÂ irq_shutdown(desc);
+
+#ifdef CONFIG_SMP
+ÂÂÂ /* make sure affinity_hint is cleaned up */
+ÂÂÂ if (WARN_ON_ONCE(desc->affinity_hint))
+ÂÂÂÂÂÂÂ desc->affinity_hint = NULL;
+#endif
Especially not twice :)
Oops... I'll remove that as well.