mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-27 00:47:41 +02:00
52 lines
1.8 KiB
Diff
52 lines
1.8 KiB
Diff
|
From 81b94de6dbb00676ddca78219eacf41b1928b33f Mon Sep 17 00:00:00 2001
|
||
|
From: Andy Green <andy@openmoko.com>
|
||
|
Date: Fri, 25 Jul 2008 23:06:20 +0100
|
||
|
Subject: [PATCH] fix-scard-stop-on-resume.patch
|
||
|
Reported-by: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>
|
||
|
|
||
|
The reporter noticed SD Card clock is running again after resume. After
|
||
|
looking at the code I saw I missed two tricks, this will force it off
|
||
|
after resume and will do better generally depending on what the last SD Card
|
||
|
packet was.
|
||
|
|
||
|
Since bulk read packet is normally last action (which set the clock off even
|
||
|
without this) the old patch worked for normal cases. But after resume, the last
|
||
|
packet on the wire was not a bulk transfer and we didn't take care about the
|
||
|
clock then.
|
||
|
|
||
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
||
|
---
|
||
|
drivers/mfd/glamo/glamo-mci.c | 6 +++---
|
||
|
1 files changed, 3 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/mfd/glamo/glamo-mci.c b/drivers/mfd/glamo/glamo-mci.c
|
||
|
index 67bb815..93f4074 100644
|
||
|
--- a/drivers/mfd/glamo/glamo-mci.c
|
||
|
+++ b/drivers/mfd/glamo/glamo-mci.c
|
||
|
@@ -619,12 +619,9 @@ done:
|
||
|
host->complete_what = COMPLETION_NONE;
|
||
|
host->mrq = NULL;
|
||
|
mmc_request_done(host->mmc, cmd->mrq);
|
||
|
- return;
|
||
|
-
|
||
|
bail:
|
||
|
/* stop the clock to card */
|
||
|
__glamo_mci_fix_card_div(host, -1);
|
||
|
- return;
|
||
|
}
|
||
|
|
||
|
static void glamo_mci_request(struct mmc_host *mmc, struct mmc_request *mrq)
|
||
|
@@ -690,6 +687,9 @@ static void glamo_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
||
|
host->real_rate = __glamo_mci_set_card_clock(host, ios->clock, &div);
|
||
|
host->clk_div = div;
|
||
|
|
||
|
+ /* stop the clock to card, because we are idle until transfer */
|
||
|
+ __glamo_mci_fix_card_div(host, -1);
|
||
|
+
|
||
|
if ((ios->power_mode == MMC_POWER_ON) ||
|
||
|
(ios->power_mode == MMC_POWER_UP)) {
|
||
|
dev_info(&host->pdev->dev,
|
||
|
--
|
||
|
1.5.6.3
|
||
|
|