From: Sean Anderson Date: Sat, 30 Sep 2023 20:45:46 +0000 (-0400) Subject: misc: fs_loader: Fix alignment of fs_loader driver X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=89cfa35bfc4c5bcabdcf31c8e4631e0dddd508c3;p=u-boot.git misc: fs_loader: Fix alignment of fs_loader driver DM_DRIVER_GET will redeclare the fs_loader driver without the correct alignment. This causes GCC to use the default section alignment of 32 bytes. This in turn creates a gap in the linker list due to the padding required to achieve the correct alignment, corrupting all further entries. Use DM_DRIVER_REF instead, which doesn't redeclare anything. Fixes: 0998a20cfc6 ("misc: fs_loader: Add function to get the chosen loader") Signed-off-by: Sean Anderson --- diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c index ccf5c7a803..1ffc199ba1 100644 --- a/drivers/misc/fs_loader.c +++ b/drivers/misc/fs_loader.c @@ -316,7 +316,7 @@ int get_fs_loader(struct udevice **dev) return ret; /* Just create a new device */ - ret = device_bind(dm_root(), DM_DRIVER_GET(fs_loader), "default-loader", + ret = device_bind(dm_root(), DM_DRIVER_REF(fs_loader), "default-loader", &default_plat, ofnode_null(), dev); if (ret) return ret;