From: Ryan QIAN Date: Mon, 21 May 2012 09:24:42 +0000 (+0800) Subject: ENGR00210160: [mx6]: mmc/sd illegal func call "clk_enable" in intr context X-Git-Tag: v3.0.35-fsl~1001 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c6f239ab472ddf970fa2db1639d62b307fcb71d4;p=karo-tx-linux.git ENGR00210160: [mx6]: mmc/sd illegal func call "clk_enable" in intr context issue: calling clk_enable in an interrupt context which will cause kernel bug. - It is a temp workaround for calling 'clk_enable' in an interrupt context. By redefine SDHCI_USE_LEDS_CLASS to SDHCI_USE_LEDS_CLASS_BROKEN to exclude led ctrl support, it does not support mmc/sd LED ctrl with this patch. - Per current driver structure, it's difficult to fix this issue in driver layer. The fix for this issue needs adjustment to current driver structure and using new clock management in kernel interface. Signed-off-by: Ryan QIAN --- diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 4d36a874e606..22e71be5435c 100755 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -37,7 +37,8 @@ #if defined(CONFIG_LEDS_CLASS) || (defined(CONFIG_LEDS_CLASS_MODULE) && \ defined(CONFIG_MMC_SDHCI_MODULE)) -#define SDHCI_USE_LEDS_CLASS +/* FIXME: temp workaround for calling clk_enable in an interrupt context */ +#define SDHCI_USE_LEDS_CLASS_BROKEN #endif #define MAX_TUNING_LOOP 40