summarylogtreecommitdiffstats
path: root/general-meson-gx-mmc-fix-deferred-probing.patch
diff options
context:
space:
mode:
Diffstat (limited to 'general-meson-gx-mmc-fix-deferred-probing.patch')
-rw-r--r--general-meson-gx-mmc-fix-deferred-probing.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/general-meson-gx-mmc-fix-deferred-probing.patch b/general-meson-gx-mmc-fix-deferred-probing.patch
new file mode 100644
index 000000000000..77e98a3257b5
--- /dev/null
+++ b/general-meson-gx-mmc-fix-deferred-probing.patch
@@ -0,0 +1,35 @@
+From b83c8168c58ccb96f92a4b6ecf1b8b7483fcced3 Mon Sep 17 00:00:00 2001
+From: Sergey Shtylyov <s.shtylyov@omp.ru>
+Date: Fri, 24 Dec 2021 06:09:57 +0000
+Subject: [PATCH 38/90] FROMLIST(v1): mmc: meson-gx: fix deferred probing
+
+The driver overrides the error codes and IRQ0 returned by platform_get_irq()
+to -EINVAL, so if it returns -EPROBE_DEFER, the driver will fail the probe
+permanently instead of the deferred probing. Switch to propagating the error
+codes upstream. IRQ0 is no longer returned by platform_get_irq(), so we now
+can safely ignore it...
+
+Fixes: cbcaac6d7dd2 ("mmc: meson-gx-mmc: Fix platform_get_irq's error checking")
+Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
+---
+ drivers/mmc/host/meson-gx-mmc.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
+index 58ab9d90bc8b..1a11a4bf4d4f 100644
+--- a/drivers/mmc/host/meson-gx-mmc.c
++++ b/drivers/mmc/host/meson-gx-mmc.c
+@@ -1183,8 +1183,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
+ }
+
+ host->irq = platform_get_irq(pdev, 0);
+- if (host->irq <= 0) {
+- ret = -EINVAL;
++ if (host->irq < 0) {
++ ret = host->irq;
+ goto free_host;
+ }
+
+--
+2.35.1
+