From: Vasily Khoruzhick <anars...@gmail.com>

This card reader doesn't advertise, however DMA works well.
Probably windows SDHCI driver assumes that all readers support DMA
and thus we see that bug.

Signed-off-by: Vasily Khoruzhick <anars...@gmail.com>
Tested-by: Maxim Levitsky <maximlevit...@gmail.com>
---
 drivers/mmc/host/sdhci-pci.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
index 5c3a176..12f5b09 100644
--- a/drivers/mmc/host/sdhci-pci.c
+++ b/drivers/mmc/host/sdhci-pci.c
@@ -80,9 +80,6 @@ struct sdhci_pci_chip {
 
 static int ricoh_probe(struct sdhci_pci_chip *chip)
 {
-       if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_IBM)
-               chip->quirks |= SDHCI_QUIRK_CLOCK_BEFORE_RESET;
-
        if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG ||
            chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SONY)
                chip->quirks |= SDHCI_QUIRK_NO_CARD_NO_RESET;
@@ -92,7 +89,9 @@ static int ricoh_probe(struct sdhci_pci_chip *chip)
 
 static const struct sdhci_pci_fixes sdhci_ricoh = {
        .probe          = ricoh_probe,
-       .quirks         = SDHCI_QUIRK_32BIT_DMA_ADDR,
+       .quirks         = SDHCI_QUIRK_32BIT_DMA_ADDR |
+                         SDHCI_QUIRK_FORCE_DMA |
+                         SDHCI_QUIRK_CLOCK_BEFORE_RESET,
 };
 
 static const struct sdhci_pci_fixes sdhci_ene_712 = {
-- 
1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to