diff options
author | Daniel Drake <dsd@laptop.org> | 2012-07-03 18:13:39 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-09 11:27:33 -0400 |
commit | 4067ad7b53cd5ba2699286620a2c645bb56542fa (patch) | |
tree | 00965f05c20ff28499a2322053a20f2063301d1f | |
parent | f351a1d7efda2edd52c23a150b07b8380c47b6c0 (diff) |
mmc: sdhci-pci: CaFe has broken card detection
commit 55fc05b7414274f17795cd0e8a3b1546f3649d5e upstream.
At http://dev.laptop.org/ticket/11980 we have determined that the
Marvell CaFe SDHCI controller reports bad card presence during
resume. It reports that no card is present even when it is.
This is a regression -- resume worked back around 2.6.37.
Around 400ms after resuming, a "card inserted" interrupt is
generated, at which point it starts reporting presence.
Work around this hardware oddity by setting the
SDHCI_QUIRK_BROKEN_CARD_DETECTION flag.
Thanks to Chris Ball for helping with diagnosis.
Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/mmc/host/sdhci-pci.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c index 936bbca19c0..d3b3115def4 100644 --- a/drivers/mmc/host/sdhci-pci.c +++ b/drivers/mmc/host/sdhci-pci.c | |||
@@ -140,6 +140,7 @@ static const struct sdhci_pci_fixes sdhci_ene_714 = { | |||
140 | static const struct sdhci_pci_fixes sdhci_cafe = { | 140 | static const struct sdhci_pci_fixes sdhci_cafe = { |
141 | .quirks = SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER | | 141 | .quirks = SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER | |
142 | SDHCI_QUIRK_NO_BUSY_IRQ | | 142 | SDHCI_QUIRK_NO_BUSY_IRQ | |
143 | SDHCI_QUIRK_BROKEN_CARD_DETECTION | | ||
143 | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, | 144 | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, |
144 | }; | 145 | }; |
145 | 146 | ||