]> asedeno.scripts.mit.edu Git - linux.git/commit
um: Fix IRQ controller regression on console read
authorJouni Malinen <j@w1.fi>
Mon, 6 May 2019 12:39:35 +0000 (14:39 +0200)
committerRichard Weinberger <richard@nod.at>
Tue, 2 Jul 2019 21:26:52 +0000 (23:26 +0200)
commitbebe4681d0e7e1be2608282dc86645728bc7f623
treee4324cb2fdcc0aedd27fe3bd0ec7e1881fb9869b
parent4b972a01a7da614b4796475f933094751a295a2f
um: Fix IRQ controller regression on console read

The conversion of UML to use epoll based IRQ controller claimed that
clone_one_chan() can safely call um_free_irq() while starting to ignore
the delay_free_irq parameter that explicitly noted that the IRQ cannot
be freed because this is being called from chan_interrupt(). This
resulted in free_irq() getting called in interrupt context ("Trying to
free IRQ 6 from IRQ context!").

Fix this by restoring previously used delay_free_irq processing.

Fixes: ff6a17989c08 ("Epoll based IRQ controller")
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/drivers/chan_kern.c
arch/um/kernel/irq.c