summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@googlemail.com>2012-03-29 19:05:04 +0200
committerChris Ball <cjb@laptop.org>2012-04-06 02:32:25 +0200
commit210b7d28598e402548b0164ca2f543e15aab8c6e (patch)
treeacb826d909410f8a8946bf7cdd8ed5cfadf14497 /drivers/mmc
parentmmc: sh_mmcif: Simplify calculation of mmc->f_min (diff)
downloadlinux-210b7d28598e402548b0164ca2f543e15aab8c6e.tar.xz
linux-210b7d28598e402548b0164ca2f543e15aab8c6e.zip
mmc: sdhci-pci: add quirks for broken MSI on O2Micro controllers
MSI on my O2Micro OZ600 SD card reader is broken. This patch adds a quirk to disable MSI on these controllers. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-pci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
index fbbebe251e01..9303f7fc1e68 100644
--- a/drivers/mmc/host/sdhci-pci.c
+++ b/drivers/mmc/host/sdhci-pci.c
@@ -561,6 +561,7 @@ static int jmicron_resume(struct sdhci_pci_chip *chip)
static const struct sdhci_pci_fixes sdhci_o2 = {
.probe = o2_probe,
+ .quirks2 = SDHCI_QUIRK2_BROKEN_MSI,
};
static const struct sdhci_pci_fixes sdhci_jmicron = {
@@ -1418,7 +1419,8 @@ static int __devinit sdhci_pci_probe(struct pci_dev *pdev,
slots = chip->num_slots; /* Quirk may have changed this */
- pci_enable_msi(pdev);
+ if (!(chip->quirks2 & SDHCI_QUIRK2_BROKEN_MSI))
+ pci_enable_msi(pdev);
for (i = 0; i < slots; i++) {
slot = sdhci_pci_probe_slot(pdev, chip, first_bar, i);