Fix potential deadlock in PL011 init function
The PL011 initialization function disables the UART, flushes the FIFO
and waits for the current character to be transmitted before applying
the configuration and enabling the UART. This waiting might result in
a deadlock if the FIFO is disabled while another CPU is printing a
message since the flush of FIFO will never finish.

This patch fixes the problem by removing the flush operation and the
loop for last character completion from the initialization function.
The UART is disabled, configured and enabled again.

Change-Id: I1ca0b6bd9f352c12856f10f174a9f6eaca3ab4ea
1 parent 85df7e4 commit 8dadabd288be998e7930ce81e409f4949631056b
@Juan Castillo Juan Castillo authored on 23 Feb 2016
Showing 1 changed file
View
drivers/arm/pl011/pl011_console.S