X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/f0c66715de5f063152d8bca967bee53ae8a0e4a3..c9b10f2eb14ea64cf300438131ca05a02ce18069:/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch?ds=sidebyside diff --git a/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch b/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch index fe0bd1c23..e6152b219 100644 --- a/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch +++ b/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mmc/host/sdhci.c -+++ linux-2.6.23.17/drivers/mmc/host/sdhci.c -@@ -481,16 +481,16 @@ static void sdhci_finish_data(struct sdh +--- a/drivers/mmc/host/sdhci.c ++++ b/drivers/mmc/host/sdhci.c +@@ -481,16 +481,16 @@ * Controller doesn't count down when in single block mode. */ if (data->blocks == 1) @@ -22,7 +20,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c } if (data->stop) { -@@ -498,7 +498,7 @@ static void sdhci_finish_data(struct sdh +@@ -498,7 +498,7 @@ * The controller needs a reset of internal state machines * upon error conditions. */ @@ -31,7 +29,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_DATA); } -@@ -533,7 +533,7 @@ static void sdhci_send_command(struct sd +@@ -533,7 +533,7 @@ printk(KERN_ERR "%s: Controller never released " "inhibit bit(s).\n", mmc_hostname(host->mmc)); sdhci_dumpregs(host); @@ -40,7 +38,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); return; } -@@ -554,7 +554,7 @@ static void sdhci_send_command(struct sd +@@ -554,7 +554,7 @@ if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) { printk(KERN_ERR "%s: Unsupported response type!\n", mmc_hostname(host->mmc)); @@ -49,7 +47,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); return; } -@@ -601,7 +601,7 @@ static void sdhci_finish_command(struct +@@ -601,7 +601,7 @@ } } @@ -58,7 +56,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c if (host->data && host->data_early) sdhci_finish_data(host); -@@ -722,7 +722,7 @@ static void sdhci_request(struct mmc_hos +@@ -722,7 +722,7 @@ host->mrq = mrq; if (!(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) { @@ -67,7 +65,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); } else sdhci_send_command(host, mrq->cmd); -@@ -831,7 +831,7 @@ static void sdhci_tasklet_card(unsigned +@@ -831,7 +831,7 @@ sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_DATA); @@ -76,7 +74,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); } } -@@ -859,9 +859,9 @@ static void sdhci_tasklet_finish(unsigne +@@ -859,9 +859,9 @@ * The controller needs a reset of internal state machines * upon error conditions. */ @@ -89,7 +87,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c /* Some controllers need this kick or reset won't work here */ if (host->chip->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) { -@@ -906,13 +906,13 @@ static void sdhci_timeout_timer(unsigned +@@ -906,13 +906,13 @@ sdhci_dumpregs(host); if (host->data) { @@ -106,7 +104,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); } -@@ -941,13 +941,12 @@ static void sdhci_cmd_irq(struct sdhci_h +@@ -941,13 +941,12 @@ } if (intmask & SDHCI_INT_TIMEOUT) @@ -125,7 +123,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c tasklet_schedule(&host->finish_tasklet); else if (intmask & SDHCI_INT_RESPONSE) sdhci_finish_command(host); -@@ -974,13 +973,11 @@ static void sdhci_data_irq(struct sdhci_ +@@ -974,13 +973,11 @@ } if (intmask & SDHCI_INT_DATA_TIMEOUT) @@ -143,7 +141,7 @@ Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c sdhci_finish_data(host); else { if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) -@@ -1312,7 +1309,7 @@ static int __devinit sdhci_probe_slot(st +@@ -1312,7 +1309,7 @@ mmc->ops = &sdhci_ops; mmc->f_min = host->max_clk / 256; mmc->f_max = host->max_clk;