summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-03-11 22:06:51 -0700
committerBin Meng <bmeng.cn@gmail.com>2016-03-17 10:27:24 +0800
commite4d6ab0c2cb8456f80d0ee4e123a34029d5a5c41 (patch)
tree5be75f2ce6cb4cf73183817fe8b301032c8f775d /drivers
parent8226a3e99f1c1e7ded648721d1e16118453761e5 (diff)
downloadu-boot-e4d6ab0c2cb8456f80d0ee4e123a34029d5a5c41.tar.gz
u-boot-e4d6ab0c2cb8456f80d0ee4e123a34029d5a5c41.tar.xz
u-boot-e4d6ab0c2cb8456f80d0ee4e123a34029d5a5c41.zip
x86: Allow use of serial soon after relocation
At present on x86 machines with use cache-as-RAM, the memory goes away just before board_init_r() is called. This means that serial drivers are no-longer unavailable, until initr_dm() it called, etc. Any attempt to use printf() within this period will cause a hang. To fix this, mark the serial devices as 'unavailable' when it is no-longer available. Bring it back when serial_initialize() is called. This means that the debug UART will be used instead for this period. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/serial/serial-uclass.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index f154eb156c..0ce5c44f33 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -115,7 +115,7 @@ int serial_init(void)
/* Called after relocation */
void serial_initialize(void)
{
- serial_find_console_or_panic();
+ serial_init();
}
static void _serial_putc(struct udevice *dev, char ch)