aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorEd Swarthout <Ed.Swarthout@freescale.com>2010-03-31 09:54:28 -0500
committerAnatolij Gustschin <agust@denx.de>2010-04-08 15:26:29 +0200
commit9624f6d9eb4b7223e97a27844ec4489ab953a2e2 (patch)
treee4ee3bbf6241a5035418dd60eec87d00b32c9300 /drivers
parentd5011762f53ada9cc7cdf1f89f3a722f887af577 (diff)
downloadu-boot-midas-9624f6d9eb4b7223e97a27844ec4489ab953a2e2.tar.gz
u-boot-midas-9624f6d9eb4b7223e97a27844ec4489ab953a2e2.tar.bz2
u-boot-midas-9624f6d9eb4b7223e97a27844ec4489ab953a2e2.zip
ati_radeon: return with error when emulator fails
Console was being switched to video even if emulator fails and causing this hang: Scanning PCI bus 04 04 00 1095 3132 0104 00 PCIE3 on bus 03 - 04 Video: ATI Radeon video card (1002, 5b60) found @(2:0:0) videoboot: Booting PCI video card bus 2, function 0, device 0 videoboot: Video ROM failed to map! 640x480x8 31kHz 59Hz radeonfb: FIFO Timeout ! Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Tested-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/bios_emulator/atibios.c3
-rw-r--r--drivers/video/ati_radeon_fb.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/bios_emulator/atibios.c b/drivers/bios_emulator/atibios.c
index 5f9bd101d6..2881449d98 100644
--- a/drivers/bios_emulator/atibios.c
+++ b/drivers/bios_emulator/atibios.c
@@ -315,7 +315,8 @@ int BootVideoCardBIOS(pci_dev_t pcidev, BE_VGAInfo ** pVGAInfo, int cleanUp)
BE_init(0, 65536, VGAInfo, 0);
/*Post all the display controller BIOS'es*/
- PCI_postController(pcidev, VGAInfo);
+ if (!PCI_postController(pcidev, VGAInfo))
+ return false;
/*Cleanup and exit the emulator if requested. If the BIOS emulator
is needed after booting the card, we will not call BE_exit and
diff --git a/drivers/video/ati_radeon_fb.c b/drivers/video/ati_radeon_fb.c
index 9ebb0b0c96..529ddae835 100644
--- a/drivers/video/ati_radeon_fb.c
+++ b/drivers/video/ati_radeon_fb.c
@@ -597,7 +597,8 @@ int radeon_probe(struct radeonfb_info *rinfo)
rinfo->fb_local_base = INREG(MC_FB_LOCATION) << 16;
DPRINT("rinfo->fb_local_base = 0x%x\n",rinfo->fb_local_base);
/* PostBIOS with x86 emulater */
- BootVideoCardBIOS(pdev, NULL, 0);
+ if (!BootVideoCardBIOS(pdev, NULL, 0))
+ return -1;
/*
* Check for errata