aboutsummaryrefslogtreecommitdiff
path: root/drivers/serial
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2024-02-26 17:32:26 +0100
committerLeo Yu-Chi Liang <ycliang@andestech.com>2024-03-12 14:36:13 +0800
commit25e7d4bf6445058cc9c70cb806b92efa01fa9cb5 (patch)
tree7a25f75c0030b81c7e667e37366bc8f597420806 /drivers/serial
parent7480282eca70c737d123b076a80395dd3bdd9818 (diff)
downloadu-boot-25e7d4bf6445058cc9c70cb806b92efa01fa9cb5.zip
u-boot-25e7d4bf6445058cc9c70cb806b92efa01fa9cb5.tar.gz
u-boot-25e7d4bf6445058cc9c70cb806b92efa01fa9cb5.tar.bz2
serial: move sbi_dbcn_available to .data section
U-Boot SPL loads the device-tree directly behind main U-Boot overlapping the .bss section. reserve_fdt() is called in board_init_f() to relocate the device-tree to a safe location. Debug UARTs are enabled before board_init_f(). With sbi_dbcn_available in the .bss section the device-tree is corrupted when _debug_uart_init() is called in the SBI serial driver. Move the variable to the .data section. Link: https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/2054091 Fixes: dfe08374943c ("risc-v: implement DBCN based debug console") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Tested-by: Aurelien Jarno <aurelien@aurel32.net> Tested-by: Conor Dooley <conor.dooley@microchip.com>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/serial_sbi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/serial/serial_sbi.c b/drivers/serial/serial_sbi.c
index a51a96c..f3ecfcc 100644
--- a/drivers/serial/serial_sbi.c
+++ b/drivers/serial/serial_sbi.c
@@ -17,7 +17,7 @@ static inline void _debug_uart_putc(int c)
#else
-static int sbi_dbcn_available;
+static int sbi_dbcn_available __section(".data");
static inline void _debug_uart_init(void)
{