staging: drm/imx: check return value of ipu_reset()

ipu_reset() can fail with a timeout. Check the return value and act
appropriately.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Lothar Waßmann 2012-12-25 15:58:37 +01:00 committed by Greg Kroah-Hartman
parent 412fc87093
commit 4d27b2ca15

View File

@ -1104,7 +1104,9 @@ static int ipu_probe(struct platform_device *pdev)
if (ret) if (ret)
goto out_failed_irq; goto out_failed_irq;
ipu_reset(ipu); ret = ipu_reset(ipu);
if (ret)
goto out_failed_reset;
/* Set MCU_T to divide MCU access window into 2 */ /* Set MCU_T to divide MCU access window into 2 */
ipu_cm_write(ipu, 0x00400000L | (IPU_MCU_T_DEFAULT << 18), ipu_cm_write(ipu, 0x00400000L | (IPU_MCU_T_DEFAULT << 18),
@ -1129,6 +1131,7 @@ failed_add_clients:
ipu_submodules_exit(ipu); ipu_submodules_exit(ipu);
failed_submodules_init: failed_submodules_init:
ipu_irq_exit(ipu); ipu_irq_exit(ipu);
out_failed_reset:
out_failed_irq: out_failed_irq:
clk_disable_unprepare(ipu->clk); clk_disable_unprepare(ipu->clk);
failed_clk_get: failed_clk_get: