This is a note to let you know that I've just added the patch titled

    mmc: dw_mmc: avoid write to CDTHRCTL on older versions

to the 3.17-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mmc-dw_mmc-avoid-write-to-cdthrctl-on-older-versions.patch
and it can be found in the queue-3.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 66dfd10173159cafa9cb0d39936b8daeaab8e3e0 Mon Sep 17 00:00:00 2001
From: James Hogan <[email protected]>
Date: Mon, 17 Nov 2014 17:49:05 +0000
Subject: mmc: dw_mmc: avoid write to CDTHRCTL on older versions

From: James Hogan <[email protected]>

commit 66dfd10173159cafa9cb0d39936b8daeaab8e3e0 upstream.

Commit f1d2736c8156 (mmc: dw_mmc: control card read threshold) added
dw_mci_ctrl_rd_thld() with an unconditional write to the CDTHRCTL
register at offset 0x100. However before version 240a, the FIFO region
started at 0x100, so the write messes with the FIFO and completely
breaks the driver.

If the version id < 240A, return early from dw_mci_ctl_rd_thld() so as
not to hit this problem.

Fixes: f1d2736c8156 (mmc: dw_mmc: control card read threshold)
Signed-off-by: James Hogan <[email protected]>
Acked-by: Jaehoon Chung <[email protected]>
Signed-off-by: Ulf Hansson <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/mmc/host/dw_mmc.c |    7 +++++++
 1 file changed, 7 insertions(+)

--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -624,6 +624,13 @@ static void dw_mci_ctrl_rd_thld(struct d
 
        WARN_ON(!(data->flags & MMC_DATA_READ));
 
+       /*
+        * CDTHRCTL doesn't exist prior to 240A (in fact that register offset is
+        * in the FIFO region, so we really shouldn't access it).
+        */
+       if (host->verid < DW_MMC_240A)
+               return;
+
        if (host->timing != MMC_TIMING_MMC_HS200 &&
            host->timing != MMC_TIMING_UHS_SDR104)
                goto disable;


Patches currently in stable-queue which might be from [email protected] are

queue-3.17/mmc-dw_mmc-avoid-write-to-cdthrctl-on-older-versions.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to