ANDROID: ARM: fiq_debugger: lock between tty and console writes
debug_console_write calls debug_uart_flush, which will usually wait until the serial port fifo empties. If another thread is continuously calling fiq_tty_write, the fifo will constantly be refilled and debug_uart_flush might never return. Add a spinlock that is locked in debug_console_write and fiq_tty_write to ensure they can't run at the same time. This has an extra advantage of preventing lines from the console and tty from being mixed together. Also reduce the size returned by fiq_tty_write_room to keep the time spent with the spinlock held to a reasonable value. In addition, make sure fiq context can't loop forever by never calling debug_uart_flush when the console is enabled. Change-Id: I5712b01f740ca0c84f680d2032c9fa16b7656939 Signed-off-by:Colin Cross <ccross@android.com> [AmitP: Folded following android-4.9 commit changes into this patch b4ffddec3493 ("ANDROID: ARM: fiq_debugger: fix uninitialised spin_lock.")] Signed-off-by:
Amit Pundir <amit.pundir@linaro.org>
Loading
Please register or sign in to comment