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>
static const struct sdhci_pci_fixes sdhci_o2 = {
.probe = o2_probe,
+ .quirks2 = SDHCI_QUIRK2_BROKEN_MSI,
};
static const struct sdhci_pci_fixes sdhci_jmicron = {
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);
unsigned int quirks2; /* More deviations from spec. */
#define SDHCI_QUIRK2_HOST_OFF_CARD_ON (1<<0)
+/* broken MSI Interrupts */
+#define SDHCI_QUIRK2_BROKEN_MSI (1<<1)
int irq; /* Device IRQ */
void __iomem *ioaddr; /* Mapped address */