Revision b1b135c8d619cb2c7045d6ee4e48375882518bb5 authored by Christian Borntraeger on 07 August 2008, 07:18:34 UTC, committed by Rusty Russell on 12 August 2008, 07:52:55 UTC
commit 611e097d7707741a336a0677d9d69bec40f29f3d
Author: Christian Borntraeger <borntraeger@de.ibm.com>
hvc_console: rework setup to replace irq functions with callbacks
introduced a spinlock recursion problem.

request_irq tries to call the handler if the IRQ is shared.
The irq handler of hvc_console calls hvc_poll and hvc_kill
which might take the hvc_struct spinlock. Therefore, we have
to call request_irq outside the spinlock.

We can move the notifier_add safely outside the spinlock as ->data must
not be changed by the backend. Otherwise, tty_hangup would fail anyway.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
1 parent ed6d687
History
File Mode Size
Kconfig -rw-r--r-- 28.7 KB
Makefile -rw-r--r-- 1.1 KB
calibrate.c -rw-r--r-- 5.0 KB
do_mounts.c -rw-r--r-- 8.8 KB
do_mounts.h -rw-r--r-- 1.3 KB
do_mounts_initrd.c -rw-r--r-- 3.2 KB
do_mounts_md.c -rw-r--r-- 7.3 KB
do_mounts_rd.c -rw-r--r-- 9.4 KB
initramfs.c -rw-r--r-- 11.6 KB
main.c -rw-r--r-- 21.0 KB
noinitramfs.c -rw-r--r-- 1.4 KB
version.c -rw-r--r-- 1.1 KB

back to top