mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 21:21:37 +00:00
dm: video: Don't do anything in alloc_fb() when plat->size is zero
With DM VESA driver on x86 boards, plat->base/size/align are all zeroes and starting address passed to alloc_fb() happens to be 1MB aligned, so this routine does not trigger any issue. On QEMU with U-Boot as coreboot payload, the starting address is within 1MB range (eg: 0x7fb0000), thus causes failure in video_post_bind(). Actually if plat->size is zero, it makes no sense to do anything in this routine. Add such check there. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
13b2bfce51
commit
3968398eb2
1 changed files with 3 additions and 0 deletions
|
@ -54,6 +54,9 @@ static ulong alloc_fb(struct udevice *dev, ulong *addrp)
|
|||
struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
|
||||
ulong base, align, size;
|
||||
|
||||
if (!plat->size)
|
||||
return 0;
|
||||
|
||||
align = plat->align ? plat->align : 1 << 20;
|
||||
base = *addrp - plat->size;
|
||||
base &= ~(align - 1);
|
||||
|
|
Loading…
Add table
Reference in a new issue