[PATCH] mmc: sdhci-pci-core: Disable cqe for ASUS 1100FK family devices

From: Patrick Thompson
Date: Mon Sep 12 2022 - 17:29:13 EST


From: ptf <ptf@xxxxxxxxxx>

The CQE implementation for the eMMC in the ASUS 1100FK family of devices
is broken. This causes installations to fail and thus we are disabling
CQE for this family of devices.

Signed-off-by: Patrick Thompson <ptf@xxxxxxxxxx>
---

Hello,

I was hoping to get some advice on adapting this patch to target the
eMMC directly instead of a family of laptops. One idea is to use the
PCI-id of the controller (in this case [8086:4dc4]). Would that make
sense? Is there someone with more knowledge on the subject that could
confirm that the [8086:4dc4] device doesn't have a working CQE?

Thank you,
Patrick


drivers/mmc/host/sdhci-pci-core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
index 622b7de96c7f..3ba0250559e7 100644
--- a/drivers/mmc/host/sdhci-pci-core.c
+++ b/drivers/mmc/host/sdhci-pci-core.c
@@ -890,7 +890,8 @@ static bool glk_broken_cqhci(struct sdhci_pci_slot *slot)
{
return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC &&
(dmi_match(DMI_BIOS_VENDOR, "LENOVO") ||
- dmi_match(DMI_SYS_VENDOR, "IRBIS"));
+ dmi_match(DMI_SYS_VENDOR, "IRBIS") ||
+ dmi_match(DMI_PRODUCT_FAMILY, "ASUS BR1100FKA"));
}

static int glk_emmc_probe_slot(struct sdhci_pci_slot *slot)
--
2.37.2.789.g6183377224-goog