mmc: sdhci: don't clobber adjacent registers
authorMatt Reimer <mreimer@sdgsystems.com>
Mon, 23 Feb 2015 21:56:58 +0000 (14:56 -0700)
committerPantelis Antoniou <pantelis.antoniou@konsulko.com>
Wed, 18 Mar 2015 07:53:01 +0000 (09:53 +0200)
SDHCI_HOST_CONTROL is a byte-sized register, so don't write to it
as if it were a long, as that would result in clobbering the three
registers following.

Signed-off-by: Matt Reimer <mreimer@sdgsystems.com>
drivers/mmc/sdhci.c

index 82d7984..1f8917b 100644 (file)
@@ -412,7 +412,7 @@ static int sdhci_init(struct mmc *mmc)
        if (host->quirks & SDHCI_QUIRK_NO_CD) {
                unsigned int status;
 
-               sdhci_writel(host, SDHCI_CTRL_CD_TEST_INS | SDHCI_CTRL_CD_TEST,
+               sdhci_writeb(host, SDHCI_CTRL_CD_TEST_INS | SDHCI_CTRL_CD_TEST,
                        SDHCI_HOST_CONTROL);
 
                status = sdhci_readl(host, SDHCI_PRESENT_STATE);