diff options
Diffstat (limited to 'target/linux/sunxi/patches-3.13/170-9-mmc-fixup-revert-sdio.patch')
-rw-r--r-- | target/linux/sunxi/patches-3.13/170-9-mmc-fixup-revert-sdio.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-3.13/170-9-mmc-fixup-revert-sdio.patch b/target/linux/sunxi/patches-3.13/170-9-mmc-fixup-revert-sdio.patch new file mode 100644 index 0000000000..90727f3e0b --- /dev/null +++ b/target/linux/sunxi/patches-3.13/170-9-mmc-fixup-revert-sdio.patch @@ -0,0 +1,44 @@ +From 0483aa124d32bdcafc84623a31141a49e71cc72d Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Sun, 16 Feb 2014 08:54:20 +0100 +Subject: [PATCH] sunxi-mmc: fixup: revert "add host initialization for when + the sdio irq is enabled" + +This is not necessary since when the host is not initialized at this point +yet the irq line from the mmc controller is not enabled, so writing the +host controller interrupt mask cannot cause interrupts at this point. + +More over doing this is wrong, as it leads to unbalanced calling of +clk_prepare_enable and regulator_power_on. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/mmc/host/sunxi-mmc.c | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c +index 2dc446c..f33bc30 100644 +--- a/drivers/mmc/host/sunxi-mmc.c ++++ b/drivers/mmc/host/sunxi-mmc.c +@@ -593,18 +593,9 @@ static void sunxi_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable) + { + struct sunxi_mmc_host *smc_host = mmc_priv(mmc); + unsigned long flags; +- int ret; + u32 imask; + + spin_lock_irqsave(&smc_host->lock, flags); +- +- /* Make sure the controller is in a sane state before enabling irqs */ +- ret = sunxi_mmc_init_host(host->mmc); +- if (ret) { +- spin_unlock_irqrestore(&smc_host->lock, flags); +- return ret; +- } +- + imask = mci_readl(smc_host, REG_IMASK); + if (enable) { + smc_host->sdio_imask = SDXC_SDIO_INTERRUPT; +-- +1.8.5.5 + |