mx6sabresd: Avoid hang when HDMI cable is not connected
authorFabio Estevam <fabio.estevam@freescale.com>
Wed, 11 Sep 2013 21:14:29 +0000 (18:14 -0300)
committerStefano Babic <sbabic@denx.de>
Fri, 20 Sep 2013 15:55:36 +0000 (17:55 +0200)
Since commit d9b894603 (mx6sabresd: Add LVDS splash screen support) the
following hang happens if the HDMI cable is not connected or the 'panel'
variable is not set:

U-Boot 2013.10-rc2-12978-g47ac53d-dirty (Sep 11 2013 - 15:07:38)

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: MX6-SabreSD
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
...

Provide a check to 'dev->detect' in order to prevent the hang.

Reported-by: Pardeep Kumar Singla <b45784@freescale.com>
Suggested-by: Eric BĂ©nard <eric@eukrea.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
board/freescale/mx6sabresd/mx6sabresd.c

index c832bd98a851bc70ef83fd4762083ede630f8c6b..0f91fe27ee9b49474dd0444d564852fde08efea2 100644 (file)
@@ -313,7 +313,7 @@ int board_video_skip(void)
        if (!panel) {
                for (i = 0; i < ARRAY_SIZE(displays); i++) {
                        struct display_info_t const *dev = displays+i;
-                       if (dev->detect(dev)) {
+                       if (dev->detect && dev->detect(dev)) {
                                panel = dev->mode.name;
                                printf("auto-detected panel %s\n", panel);
                                break;