From 0bbe3e1e05b3be430769d2e11700491f0f757f1e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 3 Oct 2020 19:25:44 +0200 Subject: [PATCH] 4.19-stable patches added patches: mmc-sdhci-workaround-broken-command-queuing-on-intel-glk-based-irbis-models.patch --- ...uing-on-intel-glk-based-irbis-models.patch | 43 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 44 insertions(+) create mode 100644 queue-4.19/mmc-sdhci-workaround-broken-command-queuing-on-intel-glk-based-irbis-models.patch diff --git a/queue-4.19/mmc-sdhci-workaround-broken-command-queuing-on-intel-glk-based-irbis-models.patch b/queue-4.19/mmc-sdhci-workaround-broken-command-queuing-on-intel-glk-based-irbis-models.patch new file mode 100644 index 00000000000..a5df53b3398 --- /dev/null +++ b/queue-4.19/mmc-sdhci-workaround-broken-command-queuing-on-intel-glk-based-irbis-models.patch @@ -0,0 +1,43 @@ +From afd7f30886b0b445a4240a99020458a9772f2b89 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 27 Sep 2020 12:48:21 +0200 +Subject: mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS models + +From: Hans de Goede + +commit afd7f30886b0b445a4240a99020458a9772f2b89 upstream. + +Commit bedf9fc01ff1 ("mmc: sdhci: Workaround broken command queuing on +Intel GLK"), disabled command-queuing on Intel GLK based LENOVO models +because of it being broken due to what is believed to be a bug in +the BIOS. + +It seems that the BIOS of some IRBIS models, including the IRBIS NB111 +model has the same issue, so disable command queuing there too. + +Fixes: bedf9fc01ff1 ("mmc: sdhci: Workaround broken command queuing on Intel GLK") +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=209397 +Reported-and-tested-by: RussianNeuroMancer +Signed-off-by: Hans de Goede +Acked-by: Adrian Hunter +Link: https://lore.kernel.org/r/20200927104821.5676-1-hdegoede@redhat.com +Cc: stable@vger.kernel.org +Signed-off-by: Ulf Hansson +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/mmc/host/sdhci-pci-core.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/mmc/host/sdhci-pci-core.c ++++ b/drivers/mmc/host/sdhci-pci-core.c +@@ -739,7 +739,8 @@ static int byt_emmc_probe_slot(struct sd + 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_BIOS_VENDOR, "LENOVO") || ++ dmi_match(DMI_SYS_VENDOR, "IRBIS")); + } + + static int glk_emmc_probe_slot(struct sdhci_pci_slot *slot) diff --git a/queue-4.19/series b/queue-4.19/series index 6727896ec49..799503b1750 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -1,3 +1,4 @@ +mmc-sdhci-workaround-broken-command-queuing-on-intel-glk-based-irbis-models.patch vsock-virtio-use-rcu-to-avoid-use-after-free-on-the_.patch vsock-virtio-stop-workers-during-the-.remove.patch vsock-virtio-add-transport-parameter-to-the-virtio_t.patch -- 2.47.3