]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop mmc patch that breaks 4.4 and 4.9 builds
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 23 Jun 2019 14:50:02 +0000 (16:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 23 Jun 2019 14:50:02 +0000 (16:50 +0200)
queue-4.4/mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch [deleted file]
queue-4.4/series
queue-4.9/mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch [deleted file]
queue-4.9/series

diff --git a/queue-4.4/mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch b/queue-4.4/mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch
deleted file mode 100644 (file)
index 1475a07..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-From 83293386bc95cf5e9f0c0175794455835bd1cb4a Mon Sep 17 00:00:00 2001
-From: Ulf Hansson <ulf.hansson@linaro.org>
-Date: Tue, 18 Jun 2019 14:05:17 +0200
-Subject: mmc: core: Prevent processing SDIO IRQs when the card is suspended
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-commit 83293386bc95cf5e9f0c0175794455835bd1cb4a upstream.
-
-Processing of SDIO IRQs must obviously be prevented while the card is
-system suspended, otherwise we may end up trying to communicate with an
-uninitialized SDIO card.
-
-Reports throughout the years shows that this is not only a theoretical
-problem, but a real issue. So, let's finally fix this problem, by keeping
-track of the state for the card and bail out before processing the SDIO
-IRQ, in case the card is suspended.
-
-Cc: stable@vger.kernel.org
-Reported-by: Douglas Anderson <dianders@chromium.org>
-Tested-by: Douglas Anderson <dianders@chromium.org>
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/mmc/core/sdio.c     |   13 ++++++++++++-
- drivers/mmc/core/sdio_irq.c |    4 ++++
- 2 files changed, 16 insertions(+), 1 deletion(-)
-
---- a/drivers/mmc/core/sdio.c
-+++ b/drivers/mmc/core/sdio.c
-@@ -897,6 +897,10 @@ static int mmc_sdio_pre_suspend(struct m
-  */
- static int mmc_sdio_suspend(struct mmc_host *host)
- {
-+      /* Prevent processing of SDIO IRQs in suspended state. */
-+      mmc_card_set_suspended(host->card);
-+      cancel_delayed_work_sync(&host->sdio_irq_work);
-+
-       mmc_claim_host(host);
-       if (mmc_card_keep_power(host) && mmc_card_wake_sdio_irq(host))
-@@ -955,13 +959,20 @@ static int mmc_sdio_resume(struct mmc_ho
-               err = sdio_enable_4bit_bus(host->card);
-       }
--      if (!err && host->sdio_irqs) {
-+      if (err)
-+              goto out;
-+
-+      /* Allow SDIO IRQs to be processed again. */
-+      mmc_card_clr_suspended(host->card);
-+
-+      if (host->sdio_irqs) {
-               if (!(host->caps2 & MMC_CAP2_SDIO_IRQ_NOTHREAD))
-                       wake_up_process(host->sdio_irq_thread);
-               else if (host->caps & MMC_CAP_SDIO_IRQ)
-                       host->ops->enable_sdio_irq(host, 1);
-       }
-+out:
-       mmc_release_host(host);
-       host->pm_flags &= ~MMC_PM_KEEP_POWER;
---- a/drivers/mmc/core/sdio_irq.c
-+++ b/drivers/mmc/core/sdio_irq.c
-@@ -35,6 +35,10 @@ static int process_sdio_pending_irqs(str
-       unsigned char pending;
-       struct sdio_func *func;
-+      /* Don't process SDIO IRQs if the card is suspended. */
-+      if (mmc_card_suspended(card))
-+              return 0;
-+
-       /*
-        * Optimization, if there is only 1 function interrupt registered
-        * and we know an IRQ was signaled then call irq handler directly.
index d0950814478737d4811c736e524c25021923531f..806c840575c71d3e9972948d6fbc2118b2aca59a 100644 (file)
@@ -1,4 +1,3 @@
 tracing-silence-gcc-9-array-bounds-warning.patch
 gcc-9-silence-address-of-packed-member-warning.patch
-mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch
 usb-chipidea-udc-workaround-for-endpoint-conflict-issue.patch
diff --git a/queue-4.9/mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch b/queue-4.9/mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch
deleted file mode 100644 (file)
index 9e79248..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-From 83293386bc95cf5e9f0c0175794455835bd1cb4a Mon Sep 17 00:00:00 2001
-From: Ulf Hansson <ulf.hansson@linaro.org>
-Date: Tue, 18 Jun 2019 14:05:17 +0200
-Subject: mmc: core: Prevent processing SDIO IRQs when the card is suspended
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-commit 83293386bc95cf5e9f0c0175794455835bd1cb4a upstream.
-
-Processing of SDIO IRQs must obviously be prevented while the card is
-system suspended, otherwise we may end up trying to communicate with an
-uninitialized SDIO card.
-
-Reports throughout the years shows that this is not only a theoretical
-problem, but a real issue. So, let's finally fix this problem, by keeping
-track of the state for the card and bail out before processing the SDIO
-IRQ, in case the card is suspended.
-
-Cc: stable@vger.kernel.org
-Reported-by: Douglas Anderson <dianders@chromium.org>
-Tested-by: Douglas Anderson <dianders@chromium.org>
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/mmc/core/sdio.c     |   13 ++++++++++++-
- drivers/mmc/core/sdio_irq.c |    4 ++++
- 2 files changed, 16 insertions(+), 1 deletion(-)
-
---- a/drivers/mmc/core/sdio.c
-+++ b/drivers/mmc/core/sdio.c
-@@ -895,6 +895,10 @@ static int mmc_sdio_pre_suspend(struct m
-  */
- static int mmc_sdio_suspend(struct mmc_host *host)
- {
-+      /* Prevent processing of SDIO IRQs in suspended state. */
-+      mmc_card_set_suspended(host->card);
-+      cancel_delayed_work_sync(&host->sdio_irq_work);
-+
-       mmc_claim_host(host);
-       if (mmc_card_keep_power(host) && mmc_card_wake_sdio_irq(host))
-@@ -953,13 +957,20 @@ static int mmc_sdio_resume(struct mmc_ho
-               err = sdio_enable_4bit_bus(host->card);
-       }
--      if (!err && host->sdio_irqs) {
-+      if (err)
-+              goto out;
-+
-+      /* Allow SDIO IRQs to be processed again. */
-+      mmc_card_clr_suspended(host->card);
-+
-+      if (host->sdio_irqs) {
-               if (!(host->caps2 & MMC_CAP2_SDIO_IRQ_NOTHREAD))
-                       wake_up_process(host->sdio_irq_thread);
-               else if (host->caps & MMC_CAP_SDIO_IRQ)
-                       host->ops->enable_sdio_irq(host, 1);
-       }
-+out:
-       mmc_release_host(host);
-       host->pm_flags &= ~MMC_PM_KEEP_POWER;
---- a/drivers/mmc/core/sdio_irq.c
-+++ b/drivers/mmc/core/sdio_irq.c
-@@ -35,6 +35,10 @@ static int process_sdio_pending_irqs(str
-       unsigned char pending;
-       struct sdio_func *func;
-+      /* Don't process SDIO IRQs if the card is suspended. */
-+      if (mmc_card_suspended(card))
-+              return 0;
-+
-       /*
-        * Optimization, if there is only 1 function interrupt registered
-        * and we know an IRQ was signaled then call irq handler directly.
index 3b4b46660154df5774bbc68861066952cd95c066..994f413becf4117436b2447561e3716a73a495f8 100644 (file)
@@ -1,5 +1,4 @@
 tracing-silence-gcc-9-array-bounds-warning.patch
 gcc-9-silence-address-of-packed-member-warning.patch
-mmc-core-prevent-processing-sdio-irqs-when-the-card-is-suspended.patch
 scsi-ufs-avoid-runtime-suspend-possibly-being-blocked-forever.patch
 usb-chipidea-udc-workaround-for-endpoint-conflict-issue.patch