Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 210b7d28 authored by Manuel Lauss's avatar Manuel Lauss Committed by Chris Ball
Browse files

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: default avatarManuel Lauss <manuel.lauss@googlemail.com>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent eb91b911
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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,6 +1419,7 @@ static int __devinit sdhci_pci_probe(struct pci_dev *pdev,

	slots = chip->num_slots;	/* Quirk may have changed this */

	if (!(chip->quirks2 & SDHCI_QUIRK2_BROKEN_MSI))
		pci_enable_msi(pdev);

	for (i = 0; i < slots; i++) {
+2 −0
Original line number Diff line number Diff line
@@ -91,6 +91,8 @@ struct sdhci_host {
	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 */