From 98c8ab6ee24e43f1a9fdd941695917b426227b85 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Fri, 25 Jul 2008 23:06:12 +0100 Subject: [PATCH] fix-glamo-mci-power-setting-timeout-waiting-for-pcf50633.patch Glamo MCI power setting stuff spins on pcf50633 but it won't hurt if it gives up after a second or two instead of stalling the resume silently. Signed-off-by: Andy Green --- arch/arm/mach-s3c2440/mach-gta02.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c index 5980ea9..69a952a 100644 --- a/arch/arm/mach-s3c2440/mach-gta02.c +++ b/arch/arm/mach-s3c2440/mach-gta02.c @@ -1265,6 +1265,7 @@ static void gta02_glamo_mmc_set_power(unsigned char power_mode, unsigned short vdd) { int mv = 1650; + int timeout = 100; printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u\n", power_mode, vdd); @@ -1281,8 +1282,14 @@ gta02_glamo_mmc_set_power(unsigned char power_mode, unsigned short vdd) case MMC_POWER_ON: case MMC_POWER_UP: /* depend on pcf50633 driver init + not suspended */ - while (pcf50633_ready(pcf50633_global)) - msleep(1); + while (pcf50633_ready(pcf50633_global) && (timeout--)) + msleep(5); + + if (!timeout) { + printk(KERN_ERR"gta02_glamo_mmc_set_power " + "BAILING on timeout\n"); + return; + } /* select and set the voltage */ if (vdd > 7) { mv += 300 + 100 * (vdd - 8); -- 1.5.6.3